Zum Inhalt springen

SQL Abfrage


debitux

Empfohlene Beiträge

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

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)

Link zu diesem Kommentar
Auf anderen Seiten teilen

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

Link zu diesem Kommentar
Auf anderen Seiten teilen

  • 2 Monate später...

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

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