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

Mysql, jak zwracać wiersze, nawet jeśli dane łączenia są puste

Jeśli tabela product zawiera co najmniej jedną daną. I chcesz pokazać inne kolumny albo NULL lub niestandardowy ciąg, taki jak "---" musisz określić w zapytaniu, które łączy, nawet jeśli atrybut łączenia ma wartość null. Więc następujące zapytanie da ci dane.

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. Mysql Query ze zmienną mysql nie działa w Zend Framework 1

  2. Czy zarządzanie transakcjami w kontrolerze to zła praktyka?

  3. Rejestracja użytkownika i weryfikacja poczty e-mail PHP i MySQL

  4. Problem z utrzymywaniem pliku java.util.Date w MySql przy użyciu Hibernate

  5. Pole listy wielokrotnego wyboru stanu nie wyświetla wszystkich miast w innym polu listy (Php,mysql,ajax)