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