sql >> Databasteknik >  >> RDS >> Mysql

Mysql hur man returnerar rader även om joindata är tom

Om tabellen product innehåller minst en data. Och du vill visa andra kolumner antingen NULL eller anpassad sträng som "---" du måste ange i frågan att join även om joining-attributet är null. Så följande fråga kommer att ge dig data.

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. Beräkna ålder baserat på födelsedatum

  2. Hur väljer jag något i MYSQL utan att välja det två gånger om det står i raden

  3. Hur importerar jag en Excel-fil till SQL Server?

  4. Det går inte att masslasta. Operativsystem felkod 5 (Åtkomst nekad.)