我有以下SQL语句:使用COUNT()在WHERE子句
SELECT C.LINKED_TABLE_ID AS CLIENT_DIWOR, I.STATUS AS AML_STATUS, dbo.CLIENT_MASTER.CLIENTCODE
FROM AML_INFORMATION AS I INNER JOIN
dbo.COMM_ENTRY AS C ON C.NAME_ID = I.CONTACT_ID AND C.TABLE_ID = 'C' AND C.PRIMARY_FLAG = 'Y' INNER JOIN
dbo.CLIENT_MASTER ON C.LINKED_TABLE_ID = dbo.CLIENT_MASTER.DIWOR
WHERE I.CONTACT_ID = 234
AND I.[STATUS] = 'CC'
AND (CLIENT_MASTER.DIWOR = I.CONTACT_ID)
AND (CLIENT_MASTER.POSTING_STATUS <> '')
AND ((SELECT COUNT(CONTACT_ID) FROM AML_ID_DOCUMENT GROUP BY CONTACT_ID HAVING CONTACT_ID = 234) >1)
如果我运行这个它返回0的记录,但是如果我删除最后一个AND语句AND ((SELECT COUNT(CONTACT_ID) FROM AML_ID_DOCUMENT GROUP BY CONTACT_ID HAVING CONTACT_ID = 234) >1)
返回我期望的记录。
是否有可能以这种方式使用COUNT()?顺便说一句,在这个例子中的COUNT()返回2条记录,如果我将它包含在SELECT语句中,我也会返回0条记录。
任何人都可以指向正确的方向吗?
在此先感谢。
不应该你的查询haver一个FROM子句的地方? –
您是否在寻找联系人的存在,或者您是否在寻找联系人的存在位置,并且多次使用此联系人。 – TEEKAY
重新添加FROM子句,在复制和粘贴期间以某种方式错过了 – Danny