Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

MYSQL INNER JOIN com possíveis campos vazios


Para reter as linhas de galeries sem ID correspondente nas fotos, você precisará juntar fotos em galerias com LEFT JOIN em vez de 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



Isso lhe dará:
galeries_id      galeries_title       photos_id       photos_link
     1               blabla              3            test.jpg
     2               bla bla2            NULL         NULL                
     3               etata               5            test.jpg



E se você deseja substituir NULL por uma string vazia, você pode usar:
SELECT
  IFNULL(photos.photos_id, ''),
  IFNULL(photos.photos_link, '')