我有两张桌子
material
id
name
material_length
id
price
amount_on_stock
price
length
如果我这样做SQL
SELECT * FROM material JOIN material_length ON material.id = material_length.material_id
我通过添加的一些人工数据得到了这个结果:
如何选择所有材料共享的所有长度?
例如,您可以看到pillar
和pillar 2
共享相同的长度:8,我能以某种方式仅选择共享长度数字吗?因此,在这种情况下,pillar
和pillar 2
的长度变化均为8,因此只有8。
答案 0 :(得分:1)
如果您希望在所有材料中共享长度:
select ml.length
from material_length ml
group by ml.length
having count(distinct ml.material_id) = (select count(*) from material);
这会按length
汇总,并计算不同物料ID的数量。然后将该数字与材料数量进行比较。