首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Teradata两个条件(和)检查多行以确定有效性

Teradata两个条件(和)检查多行以确定有效性
EN

Stack Overflow用户
提问于 2018-04-11 18:58:59
回答 2查看 490关注 0票数 0

假设我有一张桌子上有苹果的名字和另一个颜色的颜色。

代码语言:javascript
复制
Variety        Color
  Fuji          Red
  Fuji          Golden
  Granny Smith   Green
  Granny Smith   Red
  Gala           Red
  Gala           Golden
  Gala           Green

我想知道哪些苹果品种有红色和Golden.So,我期待的答案是富士和春晚。那么我如何编写查询。当然,这个查询不起作用。

代码语言:javascript
复制
Select variety from table where Color like all ('Golden%','Red%')

我的表有许多列和类似于此的一个巨大的表。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-04-11 19:00:29

你可以用INTERSECT

相交算子 只返回这两个查询结果中存在的行。

代码语言:javascript
复制
SELECT variety
FROM tab
WHERE color = 'Red'
INTERSECT
SELECT variety
FROM tab
WHERE color = 'Golden'
票数 1
EN

Stack Overflow用户

发布于 2018-04-11 18:59:59

我会把它写成:

代码语言:javascript
复制
Select variety
from table
where Color in ('Golden', 'Red')
group by variety
having count(distinct color) = 2;

考虑到您的示例数据,我认为没有理由使用like和通配符。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49782614

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档