查询具有多个状态条件的id
Posted
技术标签:
【中文标题】查询具有多个状态条件的id【英文标题】:Querying id's that have multiple status conditions 【发布时间】:2021-10-22 20:25:45 【问题描述】:我在 Impala 中有以下数据:
ID | STATUS | Date | |||||||
---|---|---|---|---|---|---|---|---|---|
1 | a | date1 | |||||||
1 | b | date2 | |||||||
1 | c | date3 | |||||||
2 | a | date4 | |||||||
2 | c | date5 | |||||||
3 | a | date6 | |||||||
3 | b | date7 | |||||||
3 | c | date8 | |||||||
3 | x | date9 |
我想构造一个查询,仅当 ID 具有状态(A 或 B 或 C)和状态 X 时才返回 ID。我还想返回状态 X 的日期。我不知道这样做的好方法。我需要加入两个不同状态条件的子查询吗?
【问题讨论】:
【参考方案1】:这应该可行..
select distinct id, date
from t1
where status = 'x'
and id in
(select id
from t1
where status in ('a','b','c')
)
这里是 db-fiddle:https://www.db-fiddle.com/f/uHVNeriETsXkLPV5kiSC1z/0
【讨论】:
谢谢,完美而简单。以上是关于查询具有多个状态条件的id的主要内容,如果未能解决你的问题,请参考以下文章