我有2列MessageID
和FlowStatusID
。
我想找到MessageID
的{{1}}是一个具有特殊序列的特定值。
例如,我想查找FlowStatusID
,其中MessageID
包含这些数字的序列:105,81,21
FlowStatusID
结果必须为2,4
答案 0 :(得分:0)
试试这个
select MessageIDfrom t group by MessageID having count(*) =3 ;
或者
select MessageID from (
select t.MessageID from t where FlowStatusID=21
union all
select t.MessageID from t where FlowStatusID=81
union all
select t.MessageID from t where FlowStatusID=105 )
as tt group by MessageID having count(*) =3
答案 1 :(得分:0)
您没有提到数据库类型,但我发现了一些其他票据,解释了如何连接多个记录中的值。
Postgress:Concatenate multiple result rows of one column into one, group by another column
Oracle:SQL Query to concatenate column values from multiple rows in Oracle
您可以在具有相等匹配的条件中使用此连接字段:
where myconcatresult = '21,81,105'
我不知道这将如何表现:)