Join
Sohail
- datenbank
Hi,
ich habe da ein Problem.
Es gibt zwei Tabellen. Eine, wo alle Dateinamen stehen und andere, wo alle Begriffe, die in dieser Dateien vorkommen. Diese zwei sind über die ID miteinander verbunden.
Ich muss jetzt aus der ertsetn Tabelle alle Dateinamen auflisten, wo die z.B zwei Begriffe "Test1" und "Test2" vorkommen. Die Select-Anweisung sieht bei so aus:
Select Buch.Begriff,PNamen.Datei,PNamen.Name From Buch Join PNamen ON Buch.ID=PNamen.ID Where Buch.Begriff Like 'Test1%' AND Buch.Begriff Like 'Test2%' Order by Buch.Begriff,PNamen.Name
Da bekomme ich aber nichts raus, obwohl die einträge da sind. Weiss jemand, was ich da falsch mache.
Danke im voraus.
Sohail
Hallo,
fuer diese Frage ist es wichtig zu wissen, um was fuer eine Datenbank es sich handelt, da JOIN bei verschiedenen DBs unterschiedlich ist....da gibt es naemlich noch INNER JOIN, LEFT JOIN, etc.....
Select Buch.Begriff,PNamen.Datei,PNamen.Name From Buch Join PNamen ON Buch.ID=PNamen.ID Where Buch.Begriff Like 'Test1%' AND Buch.Begriff Like 'Test2%' Order by Buch.Begriff,PNamen.Name
bei Access z.B. so:
SELECT
Buch.Begriff,PNamen.Datei,PNamen.Name
FROM
(Buch LEFT JOIN PNamen ON Buch.ID=PNamen.ID)
WHERE
[...]
Gruss
Tobi
Hallo Sohail,
Where Buch.Begriff Like 'Test1%' AND Buch.Begriff Like 'Test2%'
Da bekomme ich aber nichts raus, obwohl die einträge da sind.
Kannst Du auch nicht, da Buch.Begriff nicht gleichzeitig mit "Test1" und mit "Test2" anfangen kann.
Grüße
Andreas
Halihallo Sohail
Select Buch.Begriff,PNamen.Datei,PNamen.Name From Buch Join PNamen ON Buch.ID=PNamen.ID Where Buch.Begriff Like 'Test1%' AND Buch.Begriff Like 'Test2%' Order by Buch.Begriff,PNamen.Name
Warum es nicht geht, verrät dir Andreas. Lösen kannst du dies über Table-Alias, am besten
du befragst das Handbuch deiner Datenbank dazu; hier ein Pseudo (Alias sind manchmal
Dialektabhängig, hierbei z. B. dem von mysql):
SELECT
A.*
FROM
Tabelle AS A,
Tabelle AS B
WHERE
A.id=B.id AND
A.Begriff LIKE '...' AND
B.Begriff LIKE '...'
Viele Grüsse
Philipp