SQL 选择具有特定值的不同 ID
Posted
技术标签:
【中文标题】SQL 选择具有特定值的不同 ID【英文标题】:SQL selecting distinct Ids with specific values 【发布时间】:2021-01-30 18:29:05 【问题描述】:您能否告诉我如何使用 FormFieldID ((1 AND 2) OR 3) 查找用户,因此 SQL 查询应返回 UserID:7、8、9。
桌子:
我使用 SQL Server。
谢谢!
【问题讨论】:
【参考方案1】:我会推荐聚合和having
子句来实现过滤logc:
select userid
from mytable
group by userid
having
(
max(case when formfieldid = 1 then 1 end) = 1
and max(case when formfieldid = 2 then 1 end) = 1
)
or max(case when formfieldid = 3 then 1 end) = 1
根据您没有告诉的实际数据库,可能有更简洁的选项来表达条件。例如,在 mysql 中:
having
(max(formfieldid = 1) and max(formfieldid = 2))
or max(formfieldid = 3)
【讨论】:
以上是关于SQL 选择具有特定值的不同 ID的主要内容,如果未能解决你的问题,请参考以下文章