Mysql
 sql >> база данни >  >> RDS >> Mysql

MYSQL INNER JOIN с възможни празни полета

За да запазите редовете от galeries без съвпадащ идентификационен номер в снимките, ще трябва да се присъедините към снимки в галерии с LEFT JOIN вместо 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

Това ще ви даде:

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

И ако искате да замените NULL с празен низ, можете да използвате:

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. Съвпадение на записи от две таблици

  2. Вмъкване на дати във формат mm/dd/yyyy в MySQL

  3. Не може да се открие нулева стойност от JSON_EXTRACT

  4. Балансиране на натоварването на базата данни в облака - MySQL Master Failover с ProxySQL 2.0:Част първа (внедряване)

  5. Използване на fork в Ruby on Rails за създаване на паралелен процес