假設所有行我有三個表:MySql的連接語句與左表
1. Fields
ID
NAME
2. DATA
ID
f_id
p_id
data
3. PROJECT
ID
,我需要從田地表不同的數據每一次選擇都行(取決於我需要什麼項目) 所以每當我有所有的行字段,並且如果項目X沒有某個字段的數據,它將返回空行。
我嘗試下面的SQL語句:
SELECT * FROM field as f
left data as d on f.ID = d.f_id
WHERE d.p_id = 'X'
這將只返回X項目有一些數據,如果沒有數據將不會返回空行的行。
我也試過:
SELECT * FROM field as f
left join data as d on f.ID = d.f_id
left join project as p on p.ID = d.p_id
這將返回所有行從場也將返回其他項目的數據,如果生病添加Where語句它不會返回空行,如果該項目沒有任何數據。
我也試過:只有
SELECT * FROM field as f
left join data as d on f.ID = d.f_id
left join project as p on p.ID = d.p_id
WHERE (p.ID == 'x' || p.ID is null)
但這回場行如果行不被其他項目使用,如果有現場,使用它的其他項目,所以我不會得到這個領域。 (沒有得到來自左表人行)
我如何可以選擇所有左表中的行(場)反正,也如果項目沒有數據?
可怕的表名,字段和數據... – jarlh
它僅用於示例,不是真名@jarlh – Jordan