我有一个表[卖方],[广告]和[销售]。左连接,其中为空,也许有count()= 0?
由于我公司的工作方式有些怪异,销售的卖家可以换另一个卖家(让我们称他们为孤儿销售商),但[sale]表更新以反映新的advert.id新的卖家。
我想统计只有ORPHAN SALES的用户的孤儿销售价格。
在得到价格之前,我似乎无法创建一个只有孤儿销售的用户列表。
我试图做一个左加入与哪里是空的,所以我可以得到那些没有销售的广告,然后有count()= 0,所以我可以让那些没有销售的用户。
SELECT seller.id
FROM seller
JOIN advert ON advert.seller_id = seller.id
JOIN sale orphan ON advert.id = orphan.advert_id
JOIN sale accomplished_sale ON advert.id = accomplished_sale.advert_id
WHERE orphan.id IS NULL
GROUP BY seller.id
HAVING count(accomplished_sale.id) = 0
但是,我得到的是每个卖家至少有1销售没有销售,但有其他销售广告。
鉴于广告销售的关系是n-> 1,我想正常的连接只是一个左连接,对吧?卖方广告也会发生同样的情况。
我在做什么错?有任何想法吗?
@MichaelMcGriff是的,它是笛卡尔连接。改变了它。 –