我在sql server中有一个查询,显示我不想要的几条记录。这些字段的关系如下:不包括匹配条件的选择查询中的记录
ClientID可以具有多个工作负载(WorkloadIDs),但不能相反(一对多)。 每个WorkloadID都有一个分配给它的单位。 每个WorkloadID都有一个分配给它的DWLD(日期)。 多个WorkloadID可以具有相同的ClientID,DWLD和Unit。
下面是该查询:
select
w.WorkloadID,
w.ClientID,
w.Unit,
w.DWLD
from
Workload as w
left JOIN Clients as cli
ON w.ClientID = cli.ClientID
where
w.DWLD >= @start AND w.DWLD < @enddate
and w.IsDeleted <> 1
我希望它不是只显示1记录出的具有相同客户端ID和相同的单元和相同DWLD可用记录几号的。我试图自我加入表,使用having子句和not exists子句,但没有得到正确的结果。
的感谢!
而是一个字的问题,能你显示样本数据和期望的结果? – 2013-03-26 21:49:16
http://i.stack.imgur.com/C3fiI.png – 2013-03-26 22:14:29
理想的结果对我没有意义。你想排除红色的行?为什么我们保留WorkloadID 108和131,但拒绝130?源表中没有包含在屏幕截图中的行吗?确定查询以在电子表格的屏幕截图中产生结果而不知道源数据是什么样子是非常困难的。您能否提供问题中的表格样本数据和表格结果? – 2013-03-26 22:22:39