PHP Forum

PHP Forum (http://www.selfphp.de/forum/index.php)
-   MySQLi/PDO/(MySQL) (http://www.selfphp.de/forum/forumdisplay.php?f=22)
-   -   5 Tabellen durch JOIN verknüpft (http://www.selfphp.de/forum/showthread.php?t=17814)

Callisto 10.10.2007 14:05:03

5 Tabellen durch JOIN verknüpft
 
Hallo,

Ich will Daten aus insgesamt 5 Tabellen auslesen. Meine Abfrage sieht so aus:
SELECT h.hobby, n.vorname, n.nachname, (YEAR(CURRENT_DATE) - YEAR(n.geburtsdatum)) AS age, t.wert, k.kommunikationsart
FROM namen AS n
JOIN hobbies2namen AS b ON b.namen_id = n.id
JOIN hobbies AS h ON b.hobbies_id = h.id
JOIN kommunikationsdaten AS t ON (t.kommunikationsarten_id='2' OR t.kommunikationsarten_id='3'
OR t.kommunikationsarten_id='4' OR t.kommunikationsarten_id='5')
AND t.namen_id=b.namen_id AND h.hobby='Lesen'
JOIN kommunikationsarten AS k ON (k.id='2' OR k.id='3' OR k.id='4' OR k.id='5') WHERE t.wert>0
ORDER BY age DESC

Werte kommen zwar nur aus 4, aber hobbies2namen benötige ich wegen der Verknüpfung. Er gibt mir jetzt auch alles aus, nur, leider zuviel. Nämlich alle kommunikationsarten, auch wenn kein Wert eingegeben ist. (t.wert = Telefonnr, etc. ; in kommunikationsart steht dann sowas: Mobiltelefon, ICQ, etc). Aber wo kein Wert zugeordnet ist, brauch ich auch keine Ausgabe, er gibt mir aber stattdessen die schon bekannten Werte mehrfach gekoppelt mit der Kommunikationsart. Wie löse ich das? Welche Bedingung muss ich einfügen?


Alle Zeitangaben in WEZ +2. Es ist jetzt 20:09:31 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.