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

Mysql как да връща редове, дори ако данните за присъединяване са празни

Ако таблица product съдържа поне една информация. И Вие искате да покажете други колони или NULL или персонализиран низ като "---" трябва да посочите в заявката това присъединяване, дори ако атрибутът за присъединяване е нулев. Така че следната заявка ще ви даде данни.

SELECT
p.description AS p_description ,ifnull(pd.description,"---") AS pd_description,
ifnull(psd.description,"--") AS psd_description
FROM product AS p
LEFT JOIN Product_description AS pd ON(pd.product_id = p.product_id)
LEFT JOIN product_store_description AS psd ON(psd.product_id = p.product_id)
WHERE p.product_id = '1' AND (pd.language = 'en' or pd.language is null)
AND (psd.language = 'en' or psd.language is null) AND 
(psd.store_id = 1 or psd.store_id is null);


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Извикване на член функция real_escape_string() на необект

  2. MySQL - Редове към колони

  3. Има проблеми при създаването на временна таблица извън UNION

  4. Как да открием UTF-8 символи в колона, кодирана с Latin1 - MySQL

  5. FROM_DAYS() Примери – MySQL