相同的ID,不同的行,相同的值SQL Server

时间:2018-04-12 16:09:24

标签: sql-server

我正在寻找一种方法来查找在不同行中多次具有特定值的ID。例如,我有以下结果:

ID   | LINES | PCODE
-----+-------+------
111  |   1   | 0450
111  |   2   | 0450
555  |   1   | 0450
677  |   1   | 0450
677  |   2   | 0450
677  |   3   | 0450 

但我真正想要的是:

ID   | LINES | PCODE
-----+-------+------
111  |   1   | 0450
111  |   2   | 0450
677  |   1   | 0450
677  |   2   | 0450
677  |   3   | 0450 

我希望所有使用0450 Pcode的ID超过1行代表该特定ID。 0450 Pcode会有很多ID,但我只想在不同行上的多个实例中出现ID。我希望你能帮忙

1 个答案:

答案 0 :(得分:0)

然而,这可能是未经测试的:

WITH Counts AS (
    SELECT ID,
           LINES,
           PCODE,
           COUNT(ID) OVER (PARTITION BY ID) AS LineNum
    FROM YourTable
    WHERE PCODE = '0450')
SELECT ID,
       LINES,
       PCODE
FROM Counts
WHERE LineNum > 1;