Sql GROUP BY with Key:每个组的值过滤器

Sql GROUP BY with Key:每个组的值过滤器,sql,sql-server,database,group-by,having,Sql,Sql Server,Database,Group By,Having,给定具有以下架构的表: 记录ID 进程ID 资料 80830F00-379C-11EA-96B7-372060281AFC 1. 4.2 80830F00-379C-11EA-96B7-372060281AFC 2. 445588662211448 80830F00-379C-11EA-96B7-372060281AFC 7. 1. 791F6D30-379C-11EA-96B7-372060281AFC 1. 3.3 791F6D30-379C-11EA-96B7-372060281AFC 2

给定具有以下架构的表:

记录ID 进程ID 资料 80830F00-379C-11EA-96B7-372060281AFC 1. 4.2 80830F00-379C-11EA-96B7-372060281AFC 2. 445588662211448 80830F00-379C-11EA-96B7-372060281AFC 7. 1. 791F6D30-379C-11EA-96B7-372060281AFC 1. 3.3 791F6D30-379C-11EA-96B7-372060281AFC 2. 999999999999999 791F6D30-379C-11EA-96B7-372060281AFC 7. 2.
您可以将
having
case
一起使用:

SELECT RecordId
FROM [SomeTable]
GROUP BY RecordId
HAVING SUM(CASE WHEN ProcessId = 1 AND Data = '3.3' THEN 1 ELSE 0 END) > 0 AND
       SUM(CASE WHEN ProcessId = 2 AND Data = '999999999999999' THEN 1 ELSE 0 END) > 0;

非常感谢。这正是我需要的。