假设我有一张桌子上有苹果的名字和另一个颜色的颜色。
Variety Color
Fuji Red
Fuji Golden
Granny Smith Green
Granny Smith Red
Gala Red
Gala Golden
Gala Green我想知道哪些苹果品种有红色和Golden.So,我期待的答案是富士和春晚。那么我如何编写查询。当然,这个查询不起作用。
Select variety from table where Color like all ('Golden%','Red%')我的表有许多列和类似于此的一个巨大的表。
发布于 2018-04-11 19:00:29
你可以用INTERSECT
相交算子 只返回这两个查询结果中存在的行。
SELECT variety
FROM tab
WHERE color = 'Red'
INTERSECT
SELECT variety
FROM tab
WHERE color = 'Golden'发布于 2018-04-11 18:59:59
我会把它写成:
Select variety
from table
where Color in ('Golden', 'Red')
group by variety
having count(distinct color) = 2;考虑到您的示例数据,我认为没有理由使用like和通配符。
https://stackoverflow.com/questions/49782614
复制相似问题