0
我试图建立其过滤基于其他行的行的查询同一个表行作为在下面的示例中SQL查询过滤使用子查询,其查询
TableA
Id status type date
300 approved ACTIVE 11/12/2015 10:00:00
300 approved ACTIVE 11/12/2015 10:10:00
300 approved INACTIVE 11/12/2015 11:00:00
200 approved ACTIVE 11/12/2015 11:10:00
200 approved INACTIVE 11/12/2015 11:10:00
100 approved ACTIVE 11/12/2015 11:10:00
从上面的表格我想返回具有相同数量ACTIVE和INACTIVE类型的Id,比如Id 300有两行ACTIVE类型和一行INACTIVE类型,所以Id 300应该从我的结果中排除,其中200有1个活动和1个不活动,它应该是包含在结果中
在上述表格状态中,类型也可以有其他值,但我只关心上面列出的其他值,忽略其他值
因此,对于查询的表A的最终结果将是
Id
200
我试图运行下面的查询,但是那没有给我我希望的结果
SELECT Id
FROM TableA oa
WHERE oa.type in('ACTIVE','INACTIVE')
and oa.status='APPROVED'
and not EXISTS(SELECT
x.id
,COUNT(*)
FROM (SELECT DISTINCT
id
,c.type
FROM TableA c
WHERE
AND c.type IN ('ACTIVE','INACTIVE')
AND c.status = 'APPROVED'
AND c.Id= ta.Id
)x
GROUP BY x.Id
HAVING COUNT(*) = 1)
,在上面的查询被纠正以获得所需的结果?
谢谢你,怎么办编辑查询也包括在案件ID时有效S比非活性更大? – DoIt
将最后一个“=”更改为“>” – kmoser
使用> =包括两者。 – PhillipXT