簡體   English   中英

SQL:具有10個字段的表,其中包含來自其他表的ID或0(內部或左連接以“讀取”表?)

[英]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值。 每個表都有兩個字段, iddescription

我想查詢數據庫以獲得在table A ID處具有正確descriptiontable 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM