[英]SQL: table with 10 fields which contain ids from other tables or 0 (inner or left join to “read” the table?)
我有11個表的數據庫。
tables A
包含15個字段,其中的10個包含來自另一個表的ID或0值。 每個表都有兩個字段, id
和description
。
我想查詢數據庫以獲得在table A
ID處具有正確description
的table A
;如果ID為0,則返回null。
我必須使用什么? 聯接,左聯接還是內聯接? 怎么樣?
使用此語句選擇描述並使用tablea將其余表左連接:
IF(id = 0, NULL, description)
例:
SELECT A.* , IF(A.bid = 0, NULL, B.description) , IF(A.cid = 0, NULL, C.description)
from tablea A
LEFT JOIN tableb B on A.bid = B.id
LEFT JOIN tablec C on A.cid = C.id
等等....
左聯接
SELECT * FROM A
LEFT JOIN B ON (A.KEY=B.KEY)
當不可能加入時,您將得到Null
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.