选择出现两次的记录,略有不同

时间:2018-12-11 07:13:49

标签: sql-server tsql

对于要尝试的选择,我有一个快速的问题。

假设我的表格如下。

ID | Name | Surname | Passed |
1    john   Doe       N
2    John   Doe       Y
3    Marry  Kurn      Y
4    Donald Spec      N
5    Henry  Keller    N
6    Henry  Keller    Y
7    Moe    Miller    Y
8    Jerry  Ken       N
9    Jerry  Ken       C
10   Beth   Spec      Y

所以我只想选择有2条记录的人,一条通过N,另一条通过YC

在这种情况下,它将是John DoeHenry KellerJerry Ken

1 个答案:

答案 0 :(得分:4)

使用聚合:

SELECT
    Name,
    Surname
FROM yourTable
GROUP BY
    Name,
    Surname
HAVING
    COUNT(CASE WHEN Passed IN ('C', 'Y') THEN 1 END) > 0 AND
    COUNT(CASE WHEN Passed IN ('N') THEN 1 END) > 0;