我有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