我在比较Postgres中的两个设定结果时遇到问题。
我有两个表(考虑到它们都具有主键属性),第一个是具有两个属性CarName和Owner的CarWithOwner表。第二个表是带有一个属性名称的CarList。
从这些表中,我想从CarList表中获得拥有所有汽车的所有者名称。
我的第一种方法是将人与汽车分组,然后将其与汽车清单进行比较。像这样 :
SELECT owner
from CarWithOwner
GROUP BY carname, owner
HAVING carname = ALL(SELECT name from CarList);
但这并不能给我正确的结果。你能给我个解决办法吗?
您需要比较值的计数,而不是值本身:
select owner
from carwithowner
group by owner
having count(distinct carname) = (select count(*) from carlist)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句