von TeX |
Hab eine Lösung gefunden:
1:
2:
3: | SELECT * FROM Datensätze
WHERE Datensätze.user_id IN ( SELECT id FROM Benutzer WHERE name LIKE '%".$_GET[str]."%')
AND Datensätze.navi IN ( SELECT id FROM Navigation WHERE name LIKE '%".$_GET[str2]."%')"; |
Der IN-Befehl war mir nicht bekannt ... |
von TeX |
Jop, hab ich geändert, aber das Prob der 3 Tabellen bleibt trotzdem. |
von progrookie |
TeX schrieb am 08.11.2005 10:42
Hi,
ich hab ein größeres Prob, denk ich jedenfalls.
Es gibt 3 Datenbank-Tabellen:
Datensätze
Benutzer
Navigation
Die Datensätze sind durch die ID-Nr. der beiden anderen Tabellen verknüpft, nun hab ich eine Suchfunktion die nach Benutzern sucht (mit LIKE) und durch einen separaten String auch noch die Navigation (durch LIKE). Jetzt sollen die passenden Datensätze ausgelesen werden wo beide ID-Nr. vorkommen.
Mit 2 Tabellen ist das ja kein Prob, aber mit 3 kann ich mir nicht mehr vorstellen wie das gehen soll, o. wie die Syntax aussieht.
Bsp. mit 2 Tabellen:
1:
2: | SELECT * FROM Datensätze AS A LEFT OUTER
JOIN Benutzer AS B ON A.user_id = B.idWHERE B.name LIKE '%".$_GET[str]."%'; |
Habt Ihr ne Lösung dafür das nur Datensätze ausgegeben, wenn die Ergebnisse der 2 anderen Tabellen gefunden wurden? |
Sollte nicht vor der WHERE Bedingung ein Leerzeichen sein....? |
von TeX |
Hi,
ich hab ein größeres Prob, denk ich jedenfalls.
Es gibt 3 Datenbank-Tabellen:
Datensätze
Benutzer
Navigation
Die Datensätze sind durch die ID-Nr. der beiden anderen Tabellen verknüpft, nun hab ich eine Suchfunktion die nach Benutzern sucht (mit LIKE) und durch einen separaten String auch noch die Navigation (durch LIKE). Jetzt sollen die passenden Datensätze ausgelesen werden wo beide ID-Nr. vorkommen.
Mit 2 Tabellen ist das ja kein Prob, aber mit 3 kann ich mir nicht mehr vorstellen wie das gehen soll, o. wie die Syntax aussieht.
Bsp. mit 2 Tabellen:
1:
2: | SELECT * FROM Datensätze AS A LEFT OUTER
JOIN Benutzer AS B ON A.user_id = B.id WHERE B.name LIKE '%".$_GET[str]."%'; |
Habt Ihr ne Lösung dafür das nur Datensätze ausgegeben, wenn die Ergebnisse der 2 anderen Tabellen gefunden wurden? |
|