我有一个如下的 SQL 查询。我想要 where 部分的结果是不返回 CategorySite 返回超过两行且 ProductCategory 中的匹配 categoryid 的行,而不管 SiteId 是什么。问题是我知道 ProductCategory 对于我收到的一些结果有多个匹配的类别,所以我的查询有问题,我不知道是什么。
select top 10 pp.*
from ProductProperty pp
inner join ProductCategory pc on pp.fkProductId = pc.fkProductId and pp.fkLocaleId = 1
inner join CategorySite cs on pc.fkCategoryId = cs.fkCategoryId and cs.fkSiteId = 2
inner join CategoryProperty cp on cs.fkCategoryId = cp.fkCategoryId and cp.fkLocaleId=1
where (select count(*) from CategorySite css where pc.fkCategoryId = css.fkCategoryId) = 1