нужен простой запрос в т-sql - PullRequest
       14

нужен простой запрос в т-sql

0 голосов
/ 14 октября 2011

У меня есть запрос, который я упростил для нашей цели. Как вы достигаете этого результата?

ID OrigId
----------
1   1
2   1
3   3
4   4
5   4
6   6

Result

ID OrigId
----------
1   1
2   1
4   4
5   4

Ответы [ 3 ]

4 голосов
/ 14 октября 2011

Чтобы вернуть все строки, в которых соответствующий OrigId появляется более одного раза в таблице, вы можете использовать

;WITH CTE AS
(
SELECT *,
       COUNT(*) OVER (PARTITION BY OrigId) AS C
FROM YourTable
)
SELECT ID,
       OrigId
FROM CTE
WHERE C >1
3 голосов
/ 14 октября 2011

Вы можете использовать оператор HAVING

SELECT *
FROM dbo.Table
WHERE OrigID IN
(
SELECT OrigID
FROM dbo.Table
GROUP BY OrigID
HAVING COUNT(*) > 1
)
0 голосов
/ 14 октября 2011
select *
from selecttest
where origid in
(
    select origid
    from selecttest
    group by origid
    having COUNT(*) > 1
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...