我有两张叫做Manu和Cars的桌子
Manufacturer | Employees | id
Toyota | 102346 | 1
Subaru | 284608 | 2
Kia | 268244 | 3
Suzuki | 228624 | 4
第二张表汽车
Car | id
Corolla | 1
camry | 1
alto | 4
vitara | 4
forester | 2
impreza | 2
xv | 2
cerato | 3
celica | 1
现在汽车表通过Id
引用回Manu表我试图让那些已生产2种或更多型号汽车的制造商回归。
到目前为止,我所尝试的是
Select m.id, m.manufacturer
from Manu m
inner join Cars n on m.id = n.id
group by m.id having count(n.id) >= 2;
它告诉我列m.id必须出现在group by子句中或者在聚合函数中使用。非常困惑。
由于
答案 0 :(得分:0)
首先,我们将获得制造商提供的汽车数量:
c
接下来,我们将使用该数据来获得制作两个以上模型的制造商:
SELECT id,COUNT(id) FROM cars GROUP BY id;
答案 1 :(得分:0)
实际上你已经给出了答案。只是你没有被m.manufactorer分组;
Select m.id, m.manufactorer
from Manu m
inner join Cars n using(id)
group by m.id,m.manufactorer
having count(*) >= 2;