Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MYSQL INNER JOIN mit möglichen leeren Feldern

Um die Zeilen von galeries beizubehalten ohne übereinstimmende ID in Fotos müssen Sie Fotos in Galerien mit LEFT JOIN verbinden statt INNER JOIN :

SELECT galeries_id, galeries_title, 
       photos.photos_id, photos.photos_gal_id, photos.photos_link 
FROM galeries 
LEFT JOIN photos 
ON galeries.galeries_id=photos.photos_gal_id 
GROUP BY photos_gal_id

Das ergibt:

galeries_id      galeries_title       photos_id       photos_link
     1               blabla              3            test.jpg
     2               bla bla2            NULL         NULL                
     3               etata               5            test.jpg

Und wenn Sie NULL durch eine leere Zeichenfolge ersetzen möchten, können Sie Folgendes verwenden:

SELECT
  IFNULL(photos.photos_id, ''),
  IFNULL(photos.photos_link, '')