JOIN problemer
Hej alle.Jeg har en SQL-query:
SELECT
fav.target_id, p.base_profile_name AS profile_name, p.base_profile_picture_file,
media.media_file, media.media_ext
FROM rel_favourites fav
INNER JOIN profiles_list p ON fav.target_id = p.profile_id
INNER JOIN galleries_media media ON p.base_profile_picture_file = media.media_id
WHERE fav.owner_id = 97 AND fav.dtm_delete IS NULL
ORDER BY profile_name ASC;
(kan ses med syntax highlighting på http://pastie.org/1199256)
Min query giver det forventede resultat, sålænge p.base_profile_picture_file har en værdi, som kan findes i tabellen galleries_media.
Men ændres værdien af p.base_profile_picture_file til 0 (=brugeren har ikke et profilbillede - og dette findes naturligvis ikke i galleries_media,) får jeg et tomt resultat tilbage.
Det er sikkert helt korrekt. Databasen ved jo ikke, hvad den skal fortælle mig nogen værdier til media.media_file og media.media_ext.
Men - jeg har brug for at få samme resultatsæt som hvis der _var_ en eksisterende værdi i p.base_profile_picture_file - media.media_file og media.media_ext skal så blot være NULL.
Er der nogen som kan hjælpe?
I må lige sige til, hvis det kræver lidt mere forklaring.