Veröffentlicht 17. November 200321 j Hi, ich hab folgende Abfrage: SELECT PERSONAL.NACHNAME, PERSONAL.VORNAME, PERSONAL.NR, BUCH_ZEI.DATUM FROM PERSONAL INNER JOIN BUCH_ZEI ON PERSONAL.NR = BUCH_ZEI.PERSON_NR WHERE (PERSONAL.ABTEIL = 02) AND (BUCH_ZEI.DATUM = CONVERT(DATETIME, '2003-11-17 00:00:00', 102)) ORDER BY PERSONAL.ABTEIL, PERSONAL.NACHNAME Jetzt bekomme ich ja logischerweise nur die Daten vom 12.11.2003... Ich brauche jedoch alle Personen aus der "Personal" Tabelle... Später will ich dann mit php prüfen ob diese Person "nicht gebucht" oder "gebucht" hat. Ich müsste den WHERE String "(BUCH_ZEI.DATUM = CONVERT(DATETIME, '2003-11-17 00:00:00', 102))" irgendwie als Select string nehmen. Geht das irgendwie? Gruß debitux
17. November 200321 j Du willst in EINER Abfrage a) alle Personen und entsprechende Logs respektive NULL, ABER trotzdem nach Datum begrenzen? Es wäre zwar einfacher, logisch davon auszugehen, dass fehlende Einträge einem NICHT GEBUCHTEN Zustand entsprechen, aber hey, es geht auch mit SQL. Schauen wir mal, ob ich dich richtig verstanden habe:SELECT a.nachname, a.vorname, a.nr, b.datum FROM personal AS a LEFT OUTER JOIN [buch_zei] AS b ON a.nr = b.person_nr WHERE b.datum IS NULL OR b.datum = CONVERT(DATETIME, '2003-11-17 00:00:00', 102)
19. November 200321 j Hi, danke für deine Antwort, hab das eben mal ausprobiert.... Leider hats nicht geklappt. Es werden immernoch die Benutzer ausgegeben die zum an gegebenen Datum abgefragt werden. Ich denke auch das es logischer ist wenn wenn nur die aktuellen abgefragt werden. Aber mein Chefi braucht alle Benutzer in der Datenbank.... :-) Wie wäre es wenn ich nicht nach dem Datum Abfrage sondern nur nach der letzten Buchung? Dann hätte ich alle Benutzer und könnte mittels PHP nochmals das Datum in der Datenbank mit dem abzufragenden Datum vergleichen... Müsste doch eigentlich funzen oder? Gruß debitux Hier ist noch die SQL Abfrage die ich ausprobiert hatte... SELECT a.NACHNAME, a.VORNAME, a.NR, b.DATUM FROM PERSONAL a LEFT OUTER JOIN BUCH_ZEI b ON a.NR = b.PERSON_NR WHERE (b.DATUM IS NULL) OR (b.DATUM = '19.11.2003') ORDER BY a.NACHNAME
19. November 200321 j Mir fällt grad auf, "BUCH_ZEI.DATUM IS NULL" kann nicht funzen weil dann nur nach Daten gesucht wird wo garnix in der Tabelle steht ;-) Oder? Gruß Debitux
19. November 200321 j 'ello debitux, würdest du bitte das 'finale' statement noch einmal posten. Ich möchte gern abgleichen, wie weit ich gedanklich von deiner Anforderung entfernt war. Danke.
13. Februar 200421 j Achso :-) Klar kann ich machen. Aber erst nächste Woche... Habe den Artikel leider nach dem es funktioniert hat nicht weiterverfolgt. Sorry. :-)
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.