我在计算使用交叉连接的某个查询的结果数时遇到问题。
数据收集查询
SELECT CF.*, C.Type AS Ctype, C.Resp AS Resp
FROM Campaigns C, CampaignEntities CF
WHERE C.clientId = '10' AND LOWER(C.Resp) in ('resp1','resp2','resp3')
ORDER BY entityCode DESC
并正确返回符合条件的行。
但是,当更改它以获得适合的行数时:
SELECT COUNT(*) as RowNr
FROM Campaigns C, CampaignEntities CF
WHERE C.clientId = '10' AND LOWER(C.Resp) in ('resp1','resp2','resp3')
ORDER BY entityCode DESC
我得到数百万的数字(基本上是没有应用任何WHERE条件的连接结果)。
知道为什么它会像这样或者我怎么能得到正确的号码?
答案 0 :(得分:0)
试
SELECT COUNT(C.clientId) as RowNr
而不是
SELECT COUNT(*) as RowNr
因为count(*)
甚至计算null
行