クロス結合を使用するクエリの 1 つの結果の数をカウントする際に問題があります。
データ収集クエリは
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 条件が適用されていない結合の結果です)。
なぜこのように動作するのか、またはどうすれば適切な数を取得できるのか考えていますか?