Zwei Tabellen: Mitarbeiter und Termine
Die Tabellen-Struktur ist vorgegeben.
Das Feld Nr in der Mitarbeiter-Tabelle (text) entspricht dem Feld
MitarbeiterNr (int) in der Termine-tabelle
Mitarbeiter:
Nr , Nachname , Vorname
int text text
1 Meier Klaus
2 Mueller Dieter
3 Schmidt Peter
4 Schulz Oskar
Termine
Nr, MitarbeiterNr, Datum
int text text
1 1 20100120
2 2 20100820
3 1 20100227
4 3 20100121
5 3 20100212
6 2 20100115
7 4 20100120
Ich mᅵchte alle Mitarbeiter finden, die am 20.01.2010 keinen Termin
haben = Mitarbeiter 2 + 3.
Danke fᅵr die Hilfe
Stefanie
Stefanie
Welche Datenbank verwendest Du?
Ich habe frᅵher viele Abfragen ᅵber mehrere Tabellen gemacht,
doch nie mit dem Ziel Eintrᅵge in einer Tabelle zu suchen fᅵr die
es KEINE Eintrᅵge mit einem bestimmten Wert in der anderen
Tabelle gibt.
Das zweite Problem ist dass die korrespondierenden Felder
Mitarbeiter.Nr und Termine.MitarbeiterNr von unterschiedlichem
Datentyp sind.
Da mir fᅵr das erste Problem keine Lᅵsung einfiel, habe ich mit
einer Antwort gezᅵgert.
Generell kᅵnnte eine Abfrage die Eintrᅵge FᅵR einen Termin
sucht, so aussehen:
SELECT * FROM Mitarbeiter LEFT JOIN Termine ON
Mitarbeiter.Nr = Val(Termine.MitarbeiterNr)
WHERE (Termine.Datum = "20100120");
Diese SQL-Abfrage wᅵrde mit Access97 oder Access2000
funktionieren.(getestet).
Val wandelt die MitarbeiterNr in eine Zahl und vermeidet den
Type Mismatch Fehler.
Wenn Du statt aller Felder nur bestimmte Felder willst musst
Du die Feldnamen mit dem Tabellennamen qualifizieren.
Tut mir leid dass ich Dir nicht mehr helfen kann.
Helmut.
"Gunthard Pupke" <gunthardpupke@webpunktde> schrieb im Newsbeitrag
news:%23y6fdTG...@TK2MSFTNGP05.phx.gbl...
Hallo Helmut,
jetzt klappt es bei mir. Vielen Dank fᅵr Deine Hilfe.
Stefanie