2016-03-08 137 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

'where [svPartNo] = [pomDocumentId]'? –

+0

就是這樣,他們不平等。 – Nomonom

回答

0

好像你是一個簡單的GROUP BYCOUNT後,運行下面的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

嘗試下面的代碼。

SELECT svPartNo, COUNT(pomDocumentId) FROM TAB GROUP BY svPartNo