2013-03-14 60 views
0

唯一的記錄,我有以下提到的表(ID和祿是主鍵)取重複的記錄,以及在SSIS

ID LOC RNK NBR1 NBR2 
1 2 A 10 b ---> 
3 4 A 10 b ---> 
5 6 A 11 C 
8 2 A 12 D 
6 3 A 10 b --->

所以在這裏我要取只能按NBR1和NBR2,它不應該重複記錄獲取所有記錄不僅是重複項(標記爲--->)。

+0

你想要所有記錄還是隻有重複?我不明白.. – JodyT 2013-03-14 20:26:20

+0

[你有什麼嘗試](http://www.whathaveyoutried.com)? – Kermit 2013-03-14 20:26:34

+0

我只想要ID號1,3,6。 – 343 2013-03-14 20:27:32

回答

0

如果我理解正確你的問題,你可以使用子查詢

CREATE TABLE #Test (ID int, LOC int, RNK char(1), NBR1 int, NBR2 char(1)) 

INSERT INTO #Test VALUES 
    (1, 2, 'A', 10, 'b'), 
    (3, 4, 'A', 10, 'b'), 
    (5, 6, 'A', 11, 'C'), 
    (8, 2, 'A', 12, 'D'), 
    (6, 3, 'A', 10, 'b') 

SELECT * 
FROM #Test t1 
WHERE EXISTS 
    (SELECT 1 
    FROM #Test t2 
    WHERE t1.NBR1 = t2.NBR1 
     AND t1.NBR2 = t2.NBR2 
    GROUP BY NBR1, NBR2 
    HAVING COUNT(1) > 1) 
+0

這裏我想要所有的記錄..如果我使用計數,並從這個例子中得到輸出,如ID LOC RNK NBR1 NBR2 1 2 A 10 b ---> 1 3 4 A 10 b ---> 2 5 6 A 11 C - > 1 8 2 A 12 D - > 1 6 3 A 10 b ---> 3所以我想重複記錄,我標記爲1,2,3和獨特的踢那些。 – 343 2013-03-14 20:38:35

+0

所以我想重複記錄,我標記爲1,2,3和獨特的踢。 – 343 2013-03-14 20:39:52

+0

讓我試試...但它的過濾計數> 1,但我想要從1,2,3的所有重複計數... – 343 2013-03-14 20:42:12

0

你也可以用這個做,但成本會更多。具有大於1的值的RowsCount是重複的並且具有值1是唯一記錄。

With Temp As 
(
    Select ID,LOC,RNK,NBR1,NBR2,Row_NUMBER() OVER (PARTITION BY NBR2 ORDER BY NBR1) AS ROWSCOUNT FROM <<TABLE_NAME>> 
) 

Select * from Temp