I'm having a problem with counting the number of results of one of my queries that uses cross join.

The data-gathering query is 

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 


and it properly returns the rows that fit the criteria.

However, when changing it to get the number of rows that fit:

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


I get numbers in the millions (basically the result of the join without any of the WHERE conditions applied).

Any idea why it's behaving like this or how I can possibly get the right number?


Question: What do you call a group of people that move a lot?
Answer: Nomadic should work. But I would not go with words like pastoral. It seems to convey a more idyllic and peaceful stance. Also, pastoral might refer to continuous movement in search of rural grasslands to base your livelihood upon.

Also, gypsies, fugitives and migrants or bedouins would be discriminatory to use in a extended sense as they are particular to certain segments of people. The same is the case with a vagabond or a tramp.

The word which I would prefer over Nomadic is the word 'drifting'. It seems to convey more of the aimless movement that the question seemed to have in mind.