SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Fortgeschrittene CSS-Techniken

Fortgeschrittene CSS-Techniken zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > MySQLi/PDO/(MySQL)
Hilfe Community Kalender Heutige Beiträge Suchen

MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren

Thema geschlossen
 
Themen-Optionen Ansicht
  #1  
Alt 20.02.2010, 12:59:51
ronronron3005 ronronron3005 ist offline
Anfänger
 
Registriert seit: Feb 2010
Ort: Hohenstein-Ernstthal
Alter: 42
Beiträge: 5
ronronron3005 eine Nachricht über Skype™ schicken
SELECT - Aktuellere Daten anzeigen, wenn vorhanden

Guten Tag an das Forum,
ich wende mich an Euch, da ich vor einem Problem stehe welches mich nun bereits seit ca. 1 Woche beschäftigt. Ich hoffe hier eine Antwort/ Lösungsansatz z uerhalten. Meine Kenntnisse in MySQL würde ich als fortgeschrittenen Anfänger :) werten.

Folgende Problemstellung:

Tabelle 1:
-----------------------------------
|id|wert|kriterium1|kriterium2|
-----------------------------------
|1 | 20 |0 |1 |
-----------------------------------
|2 | 20 |1 |0 |
-----------------------------------
|3 | 18 |0 |1 |
-----------------------------------

Tabelle 2:
------------------------------------------
|id|tabelle1_id|gültigvon |gültigbis|
------------------------------------------
|1 |1 |2009-10-01|null |
------------------------------------------
|2 |1 |2010-10-01|null |
------------------------------------------

Ich möchte nun alle Datensätze aus meiner Abfrage, wo jedoch nur die Datensätze aus Tabelle 2 angezeigt werden, welches Datum der Spalte "gültigvon" jünger ist. Sprich nur die Datensätze wo der Datensatz in Tabelle 2 aktueller ist.

Ich hoffe, ihr versteht soweit, was ich damit sagen will. Die Struktur ist zwar noch wesentlich größer und umfangreicher aber das Hauptaugenmerk liegt in der Datumsbegrenzung eines Datensatzes.
Tabelle 1 wird selten bis gar nicht aktualisiert. Tabelle 2 wird minimum 1x pro Monat aktualisiert, für jede Konstelaltion.
  #2  
Alt 20.02.2010, 13:07:14
Benutzerbild von vt1816
vt1816 vt1816 ist offline
Administrator
 
Registriert seit: Jul 2004
Beiträge: 3.707
AW: SELECT - Aktuellere Daten anzeigen, wenn vorhanden

Hallo und willkommen hier im Forum.


Was hast Du denn schon selber probiert? Was funktioniert daran nicht?
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert

Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
  #3  
Alt 20.02.2010, 13:10:14
ronronron3005 ronronron3005 ist offline
Anfänger
 
Registriert seit: Feb 2010
Ort: Hohenstein-Ernstthal
Alter: 42
Beiträge: 5
ronronron3005 eine Nachricht über Skype™ schicken
AW: SELECT - Aktuellere Daten anzeigen, wenn vorhanden

Also aktuell habe ich folgende Abfrage integriert:
SELECT
bla,blubber
FROM bla blubber
LEFT JOIN
bli...
WHERE
IF(gültigbis = null,aktuellesdatum > gültigvon,aktuellesdatum BETWEEN gültigvon AND gültigbis AND aktuellesdatum > gültigvon)
AND bla=blubber...

Ich sollte vielleicht noch erwähnen,daß das gültigvon datum jünger sein muss zum jetzigen datum als es in einem datensatz davor bei der selben konstellation steht.
  #4  
Alt 20.02.2010, 13:17:47
ronronron3005 ronronron3005 ist offline
Anfänger
 
Registriert seit: Feb 2010
Ort: Hohenstein-Ernstthal
Alter: 42
Beiträge: 5
ronronron3005 eine Nachricht über Skype™ schicken
AW: SELECT - Aktuellere Daten anzeigen, wenn vorhanden

Ich stelle Euch mal die gesamte aktuelle SQL Abfrage zur Verfügung:

SELECT SUM(P.wert) AS Pr
FROM matrix as M LEFT JOIN punkte as P ON P.id=M.punkte_id
LEFT JOIN
optionen as O ON O.matrix_id=M.id
LEFT JOIN
daten As T ON T.matrix_id=M.id
WHERE
IF(T.bis = null,'datum' > T.von,'datum BETWEEN T.von AND T.bis)
M.aart_id='1' AND
M.bart_id='2' AND
M.kanal='0' AND
M.original='0' AND
M.ware='0' AND
T.daten_id='17' OR
O.optionen_id IN('26','9') AND
O.aart_id='2'
  #5  
Alt 21.02.2010, 20:38:19
ronronron3005 ronronron3005 ist offline
Anfänger
 
Registriert seit: Feb 2010
Ort: Hohenstein-Ernstthal
Alter: 42
Beiträge: 5
ronronron3005 eine Nachricht über Skype™ schicken
AW: SELECT - Aktuellere Daten anzeigen, wenn vorhanden

Ich habe die Lösung gefunden. Der Ehrlichkeit halber in einem anderen Forum aber ich will Euch gerne teilhaben lassen:

SELECT SUM(P.wert) AS Pr
FROM matrix as M LEFT JOIN punkte as P ON P.id=M.punkte_id
LEFT JOIN
optionen as O ON O.matrix_id=M.id
LEFT JOIN
( SELECT daten.daten_id,MAX(von) GROUP BY von) As T ON T.matrix_id=M.id
WHERE
M.aart_id='1' AND
M.bart_id='2' AND
M.kanal='0' AND
M.original='0' AND
M.ware='0' AND
T.daten_id='17' OR
O.optionen_id IN('26','9') AND
O.aart_id='2'

Das LEFT JOIN Statement mit der MAX Abfrage war ausschlaggebend. Man muss dazu sagen das es ein "negativer" JOIN sit wo eigentlich ein Datensatz keine weiteren Werte enthält aber auf das Ergebnis kommt. Gefunden habe ich das ganze im Forum php-resource auf eine Frage "Maximale Versionsnummer herausfinden". Offizielle Lösung von MySQL 5.0 Reference (Englisch)

Danke trotzdem für alle Leser, Denker.

Geändert von ronronron3005 (21.02.2010 um 20:41:52 Uhr) Grund: Quellnachweis hinzugefügt
  #6  
Alt 21.02.2010, 20:42:56
cortex cortex ist offline
SELFPHP Profi
 
Registriert seit: Apr 2008
Alter: 48
Beiträge: 1.938
AW: SELECT - Aktuellere Daten anzeigen, wenn vorhanden

Zitat:
Zitat von ronronron3005 Beitrag anzeigen
Ich habe die Lösung gefunden [...] in einem anderen Forum
anmerkung: crosspostings werden in foren im allgemeinen als asozial angesehen und entsprechende threads umgehend geschlossen. sei froh, dass es (dieses mal) niemand mitbekommen hat...

[mod: closed]

cx
Thema geschlossen

Stichworte
aktuell, begrenzung, datum, select


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Ausgabe wird nicht angezeigt Extremefall PHP Grundlagen 9 17.12.2009 08:49:45
Leere Daten mit anzeigen (Datum in dem kein Eintrag ist) DeKalle MySQLi/PDO/(MySQL) 1 14.03.2009 08:10:55
Daten von FTP-Server anzeigen lassen bekiro PHP Grundlagen 1 27.12.2006 10:13:05
Überprüfen ob Daten schon in der Tabelle vorhanden? nivram MySQLi/PDO/(MySQL) 9 21.12.2003 21:13:26
Weitere Daten aus Array anzeigen ! Hushi2 PHP Grundlagen 16 11.10.2002 13:31:38


Alle Zeitangaben in WEZ +2. Es ist jetzt 09:06:29 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt