[MySQL] INNER JOIN "on demand"
Stefan Welscher
- datenbank
Hi,
gibt es eine Möglichkeit ein INNER JOIN Bedingungsabhängig zu gestalten?
Ich habe z.B. folgende Querry:
SELECT ref.object_id, ref.object_id_r, ref.vpn_id, ref.sp_no,s1.SHA_SP_VPN_ID, s1.SHA_SP_SP_NO, s2.object_id
FROM ((ref_sp_id AS ref
INNER JOIN sp_core AS s1 ON ref.object_id = s1.object_id)
INNER JOIN sp_core AS s2 ON (s1.SHA_SP_SP_NO = s2.sp_no) AND (s1.SHA_SP_VPN_ID = s2.vpn_id))
Hier habe ich das Problem, dass die Felder SHA_SP_SP_NO und SHA_SP_VPN_ID von sp_core nicht immer gefüllt sind. Wenn die Felder nicht gefüllt sind, sollen aber trotzdem die Felder von ref_sp_id verwendet werden, die Felder von sp_core sollen dann einfach leer bleiben (NULL).
Wie kann ich das Realisiseren?
Danke im Vorraus,
Stefan Welscher
Hi,
Hier habe ich das Problem, dass die Felder SHA_SP_SP_NO und SHA_SP_VPN_ID von sp_core nicht immer gefüllt sind. Wenn die Felder nicht gefüllt sind, sollen aber trotzdem die Felder von ref_sp_id verwendet werden, die Felder von sp_core sollen dann einfach leer bleiben (NULL).
Ohne bei der Beschreibung ganz mitgekommen zu sein (nur ein SELECT zu sehen, ohne das Datenmodell, hilft halt nicht immer viel) - suchst du vielleicht einen LEFT JOIN (oder RIGHT, je nach Reihenfolge, in der die Tabellendaten zusammengeführt werden sollen) statt des INNER ...?
http://aktuell.de.selfhtml.org/artikel/datenbanken/joins/#leftright_join
MfG ChrisB
Offensichtlich hast du es richtig verstanden, das war es was ich gesucht habe und jetzt weiß ich zudem auch wofür die beiden anderen JOINs gut sind ;)
Besten Dank!