【问题标题】:Sql search multiple values on multiple rowsSql在多行上搜索多个值
【发布时间】:2017-10-23 10:45:41
【问题描述】:

在如下的 sql 表中:

Name        |Description
------------------------
Animal      | Dog
Animal      | Wolf
Zoo_animal  | Dog

有没有办法从“名称”列中获取满足其他列“描述”的两个特定条件的值。

“名称”的所有条目,其中描述为 = Dog 或 = Wolf 在不同行上(因此返回“Animal”,其值 Dog 和 Wolf 在不同行中),但如果只有一个条件为真( Zoo_animal,只有 Dog)。

【问题讨论】:

  • 你试过查询了吗?
  • Oracle,我尝试使用 OR 子句对每个文字进行简单查询,并直观地检查输出。

标签: sql oracle multiple-columns


【解决方案1】:

使用group byhaving

select name
from t
where description in ('dog', 'wolf')
group by name
having count(distinct description) = 2;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-27
    • 2013-04-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多