Mysql
 sql >> Baza danych >  >> RDS >> Mysql

MYSQL INNER JOIN z możliwymi pustymi polami

Aby zachować wiersze z galeries bez pasującego identyfikatora na zdjęciach, musisz dołączyć zdjęcia w galeriach za pomocą LEFT JOIN zamiast 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

To da ci:

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

A jeśli chcesz zastąpić NULL pustym ciągiem, możesz użyć:

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


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. automatyczny przyrost pierwotny pozostawiając przerwy w liczeniu

  2. Jak uzyskać dane z ostatniego tygodnia w MySQL?

  3. mysqldump z utf8 nie może wyeksportować prawidłowego ciągu emoji

  4. Ustawianie domyślnej strefy czasowej na MySql Server przez PhPMyAdmin

  5. Błąd PDO:Nieprawidłowy numer parametru:parametr nie został zdefiniowany