我有3桌選擇查詢加入3個表
企業人事:ID,名稱
部:ID,名稱
Match_Dept_Per:dept_id爲,pers_id,workInfo
外鍵:
dept_id - > Department.id
pers_ ID - > Personel.id
實施例的數據:
企業人事:
1,埃米爾Civas
2,Sercan恰伊
部:
1,銷售
2,計劃
Match_Dept_Per:
1,1,經理
我想要做的是,列出的人民的名字,他們的部門名稱和workInfos像:
ID | Pers. Name | Dept Name | Work Info
---------------------------------------
1 | Emir Civas | Sales | Manager
我可以用一個簡單的做到這一點select query:
select p.id, p.name, d.name, m.workInfo
from personel p, department d, match_dept_per m
where p.id = m.pers_id and d.id = m.dept_id;
這是我的模式和此查詢的sample fiddle。
但是,我需要的是顯示其他人,他們的ID沒有插入match_dept_per表。並將「未知」設置爲空值。像:
ID | Pers. Name | Dept Name | Work Info
------------------------------------------
1 | Emir Civas | Sales | Manager
2 | Sercan Tuncay | Unknown | Unknown
由於我使用Match_Dept_Per表,如果Personel ID沒有添加,我什麼也做不了。
有什麼建議嗎?
我相信你需要將ISNULL()函數作爲SQL語句的一部分。 ISNULL(check_expression,replacement_value),所以這將允許你替換檢查值,如果null與UNKNOWN。我不會發布答案,因爲我沒有時間重寫您的查詢。 – AxGryndr