Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

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

Geschrieben

Du willst in EINER Abfrage

a) alle Personen

und

B) 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)

Geschrieben

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

Geschrieben

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

Geschrieben

'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.

  • 2 Monate später...

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...