SQL Query返回包含和不包含子记录的记录

时间:2012-09-07 16:51:44

标签: sql

我有3个表,我正在尝试查询,客户,员工和佣金,大致如下: -

客户

ID - Code - Name

员工

ID - Code - Name

委员会

ID - ClientCode - EmployeeCode - Percent

现在,佣金表每个客户/员工有多个记录,用于定义员工在为特定客户工作时的佣金百分比,但每个客户的佣金记录总是达到100% 例如: -

CL001 - EMP001 -  50.00

CL001 - EMP002 -  50.00

CL002 - EMP001 -  75.00

CL002 - EMP002 -  25.00

CL003 - EMP001 - 100.00

但是,并非Clients表中的每个客户端都在Commissions表中有一个条目(没有默认佣金集的那些)。

我需要检索的是每个客户的记录,详细说明针对它设置的佣金。但是,我需要将结果包含在没有任何佣金定义的客户中,到目前为止我一直无法得到我需要的东西。

所以我想我的问题是,这看起来似乎有道理吗?

1 个答案:

答案 0 :(得分:2)

你试过这个吗?

SELECT Clients.ID, Clients.Code, Clients.Name, Commission.Percent
FROM Clients
LEFT JOIN Commission ON Commission.ClientCode = Clients.Code