Supportnet / Forum / Datenbanken
Auswahl/Suche
Frage
Hy,
ich soll eine Datenbank erstellen, bei der es um Kartenvergabe geht. Mein Problem ist folgendes:
die Karten-Nummern befinden sich in einer Tabelle, die Datensätze, an wen die Karte abgegeben wurde, befindet sich in einer zweiten Tabelle. Nun soll es so sein, das nur die Karten, die nicht ausgegeben wurden, anwählbar sein sollen. Wie kann ich das machen?
Gruß
Antwort 1 von Teddy7
Im Beispiel geht es zwar um zwei gleiartige Tabellen, aber im Prinzip müßte das Dein Problem lösen.
Folgendes steht in der FAQ von DonKarl:
DATENSÄTZE AUS A, DIE NICHT DIE IN B SIND
P r o b l e m
Du hast 2 gleich aufgebaute Tabellen "A" und "B", die z.T. auch gleiche Datensätze haben, und möchtest herausfinden, welche Datensätze sich in A befinden, aber nicht in B.
L ö s u n g
Verknüpfe die Tabellen im Abfrageentwurf über ihre Primärschlüsselfelder und mach einen Doppelklick auf die Verknüpfungslinie. Dort stellst du die zweite Variante an Beziehung ein, also jene, die alle DS aus Tabelle A bringt und nur die aus Tabelle B usw... Hol den Stern aus Tabelle A als Feld in die Abfrage und das Primärschlüsselfeld aus Tabelle B als weiteres Feld. Dieses zweite Feld brauchst du nicht anzeigen zu lassen, aber als Kritierum schreibst du: Ist Null
Das SQL-Statement sieht dann ca. so aus:
Select A.*
From A Left Join B On A.ID = B.ID
Where B.ID Is Null
->Donkarl 3.16
Gruß
Teddy
Folgendes steht in der FAQ von DonKarl:
DATENSÄTZE AUS A, DIE NICHT DIE IN B SIND
P r o b l e m
Du hast 2 gleich aufgebaute Tabellen "A" und "B", die z.T. auch gleiche Datensätze haben, und möchtest herausfinden, welche Datensätze sich in A befinden, aber nicht in B.
L ö s u n g
Verknüpfe die Tabellen im Abfrageentwurf über ihre Primärschlüsselfelder und mach einen Doppelklick auf die Verknüpfungslinie. Dort stellst du die zweite Variante an Beziehung ein, also jene, die alle DS aus Tabelle A bringt und nur die aus Tabelle B usw... Hol den Stern aus Tabelle A als Feld in die Abfrage und das Primärschlüsselfeld aus Tabelle B als weiteres Feld. Dieses zweite Feld brauchst du nicht anzeigen zu lassen, aber als Kritierum schreibst du: Ist Null
Das SQL-Statement sieht dann ca. so aus:
Select A.*
From A Left Join B On A.ID = B.ID
Where B.ID Is Null
->Donkarl 3.16
Gruß
Teddy

