2016-03-08 4 views
1

Я пытаюсь написать запрос, чтобы возвращать несколько совпадающих результатов, я хочу посмотреть, сколько записей соответствует столбцу из таблицы.Множественный выбор из таблицы SQL

select [pomDocumentId], 
     [svPartNo], 
     count(svPartNo) as dup 
from [tbl_ODW_PomItem] 
group by [svPartNo],[pomDocumentId] 

Я пробовал это, но не буду работать. Я пытаюсь посмотреть, сколько [pomDocumentId] соответствует [svPartNo] в таблице.

спасибо.

id   pomDocumentId   svPartNo 

4955  8298     5WK96132-E 
6131  14826     5WK96132-E 

Вот запрос, который решил проблему:

select [svPartNo], count(svPartNo) as dup 
    from [ODW_Dev].[dbo].[tbl_ODW_PomItem] 
    group by [svPartNo] 
    having count(svPartNo)>1 
    order by dup desc 
+0

Просьба предоставить несколько образцов данные. – Wanderer

+2

'где [svPartNo] = [pomDocumentId]'? –

+0

Это то, что они не равны. – Nomonom

ответ

0

Похоже, вы после простой GROUP BY с COUNT запустите ниже SQL, чтобы проверить с вашими данными выборки:

DECLARE @tbl_ODW_PomItem AS TABLE 
    ([id] int, [pomDocumentId] int, [svPartNo] varchar(10)) 
; 

INSERT INTO @tbl_ODW_PomItem 
    ([id], [pomDocumentId], [svPartNo]) 
VALUES 
    (4955, 8298, '5WK96132-E'), 
    (6131, 14826, '5WK96132-E') 
; 


SELECT COUNT(pomDocumentId) DocCount, svPartNo 
FROM @tbl_ODW_PomItem 
GROUP BY svPartNo 

Это производит:

DocCount svPartNo 
====================== 
2   5WK96132-E 
0

Try код ниже.

SELECT svPartNo, COUNT(pomDocumentId) FROM TAB GROUP BY svPartNo 
Смежные вопросы