sql >> Databasteknik >  >> RDS >> Mysql

MYSQL INNER JOIN med möjliga tomma fält

För att behålla raderna från galeries utan matchande ID på foton måste du gå med i foton i gallerier med LEFT JOIN istället för 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

Detta ger dig:

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

Och om du vill ersätta NULL med en tom sträng kan du använda:

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


  1. Php addslashes sql-injektion fortfarande giltig?

  2. Använder du Django databaslager utanför Django?

  3. mysqldump Bästa metoder:Del 2 – Migrationsguide

  4. Hur loggar jag in och autentiserar till Postgresql efter en nyinstallation?