我很想为我遇到的问题寻找答案,但是找不到任何东西。我有两个表Client和FactChange。
Client
表具有
ClientName, DOB, ClientID, ClientSalary, SpouseName, ClientAge, SpouseAge, Spouse Salary.
FactChange
表具有
FactID, ClientID.
因此,客户端中的所有常见更改都会记录在事实上的更改中,该更改基于“类型”列进行了分类。
示例:客户增加的工资将记录为工序:ADD类型:工资变更金额:45000
注意:FactChange表可以在Client表中包含一个clientID的多行。同样,没有必要在客户表中的每个客户都在FactChange表中有记录。
考虑到我有10个客户,而6个客户的薪水已更改,即使FactChange没有Type:SalaryChage行,我也想要一个我想要所有客户的薪水的结果集。
我试图用“ Where”子句联接两个表,但是我无法获取Clients表中的行,而FactChange表中的行。
SELECT CleintID, ClientName, SpouseName, Amount
FROM Client c JOIN FactChange fc
ON c.ClientID=fc.ClientID WHERE Type like 'SalaryChange'
预期结果,我希望“客户”表中存在的所有客户的金额。按照示例,结果集应该有10行。对于实际上不存在的clientID,Amount可以为0