使用group by的SQL Server多行查询

时间:2013-01-28 14:29:56

标签: sql tsql select

我有像

这样的数据
╔══════╦══════════╦═══════╗
║ DEPT ║ EMPLOYEE ║ IMAGE ║
╠══════╬══════════╬═══════╣
║    1 ║        1 ║ Y     ║
║    1 ║        2 ║ N     ║
║    2 ║        3 ║ N     ║
║    2 ║        4 ║ N     ║
╚══════╩══════════╩═══════╝
来自查询的

我想只获得图片='N'的部门

所以应该返回dept 2

我将如何在SQL Server Select语句中执行此操作

2 个答案:

答案 0 :(得分:3)

SELECT Dept
FROM   tableName
GROUP  BY DEPT
HAVING SUM(CASE WHEN [Image] = 'N' THEN 1 ELSE 0 END) = COUNT(*)

答案 1 :(得分:-1)

SELECT Distinct Dept from TableName where Image = 'Y'

但是你的例子将带回Dept 1和Dept 2,因为你的第1个部门的第2个记录在Image下的值为'N'。你不会只回到第2部分。