use*_*628 3 t-sql sql-server where-clause
在SQL Server 2008中,我有下面的表示例.
Name Num
----------
John 20
John 30
Peter 10
Peter 20
Peter 30
Marry 20
Marry 30
Mike 10
Mike 20
Mike 30
Phil 10
Phil 30
Run Code Online (Sandbox Code Playgroud)
我想要Num = 10和Num = 20的记录.查询将返回
Name Num
----------
Peter 10
Peter 20
Mike 10
Mike 20
Run Code Online (Sandbox Code Playgroud)
非常感谢.
你想要这样的东西:
SELECT Name, Num
FROM tbl
WHERE Name IN (
SELECT Name FROM tbl
WHERE Num IN (10, 20)
GROUP BY Name
HAVING COUNT(*) = 2 -- Must have all items in the set of 2
)
AND Num IN (10, 20) -- still need to restrict, since the set is not maximal
Run Code Online (Sandbox Code Playgroud)
但是还有其他方法可以将"具有以下所有属性的项目集"设置为"猫".