как узнать строки на основе столбца, где существуют дублирующие данные - PullRequest
2 голосов
/ 28 февраля 2012

Предположим, у меня есть такая таблица:

Code  | something
------------------
C01     abc
C02     mnt
C03     lkj
C01     dhl
C04     poi
C05     gtr
C02     rty
C01     asd
-------------------

Теперь мне нужны только те строки из таблицы, у которых в этом столбце есть строки Code более одного раза.Таким образом, вывод будет выглядеть как-

Code  | something
------------------
C01     abc
C01     dhl
C01     asd
C02     mnt
C02     rty
-------------------  

Я новичок в SQL Server и запросить вещи.Пожалуйста, помогите мне.Заранее спасибо.

Ответы [ 4 ]

1 голос
/ 28 февраля 2012
SELECT * FROM Table
WHERE code IN (
    SELECT Code FROM Table
    GROUP BY Code HAVING COUNT(*) > 1
)
0 голосов
/ 28 февраля 2012
;WITH codes AS 
(
  SELECT code 
  FROM dbo.table
  GROUP BY code 
  HAVING COUNT(*) > 1
)
SELECT code, something 
  FROM dbo.table AS t
  INNER JOIN codes AS c 
  ON t.code = c.code;
0 голосов
/ 28 февраля 2012
SELECT T2.* 
FROM TableName, (SELECT Code from TableName T1 
                 GROUP BY T1.Code 
                 HAVING (COUNT(T1.Code) > 1)) T3
WHERE T2.Code = T3.Code
0 голосов
/ 28 февраля 2012
select *
from YourTable
where Code in
(
    select Code
    from YourTable
    group by Code
    having count(*) > 1
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...