對此線程我有一個問題已成功解答。SQL過濾在查詢中按不同列進行重複
searching for filtered duplicates in access query
現在我有一個第二個問題。也許有人可以幫助我。
我有一個查詢,看起來像這樣:
查詢A_Gravur:
SP1 | SP2 | SP3 64 | CB75000 | 3 64 | empty | D 70 | CB70010 | 1 70 | CB70010 | 1 119 | CB70050 | 5 119 | empty | D 165 | S15002 | Schalter 165 | S15002 | Schalter 194 | R70034 | Poti 194 | R10023 | Potentiometer 196 | S10063 | Schalter 196 | S10063 | Schalter 197 | S10063 | Schalter 198 | S10070 | 3 199 | CB75000 | 5
此查詢由另一個查詢過濾,重複檢查。 最後的結果是這樣的:
結果:
SP1 | SP2 | SP3
194 | R70034 | Poti 470k
194 | R10023 | Potentiometer
196 | S10063 | Schalter
197 | S10063 | Schalter
64 | CB75000 | 3
199 | CB75000 | 5
和SQL代碼,這看起來像這樣:
SELECT SP1, SP2, SP3
FROM A_Gravur
WHERE (SP1 IN
(SELECT SP1
FROM A_Gravur
WHERE SP3<>'D'
GROUP BY SP1
HAVING COUNT(*)>1)
OR SP2 IN
(SELECT SP2
FROM A_Gravur
WHERE SP3<>'D'
GROUP BY SP2
HAVING COUNT(*)>1))
AND CONCAT(CAST(SP1 AS CHAR),SP2,SP3) NOT IN
(SELECT CONCAT(CAST(SP1 AS CHAR),SP2,SP3)
FROM A_Gravur
WHERE SP3 <> 'D'
GROUP BY CONCAT(CAST(SP1 AS CHAR),SP2,SP3)
HAVING COUNT(*)>1)
AND SP3<>'D'
ORDER BY SP1, SP2;
所以現在我的新問題:
我加了2個新列的查詢A_Gravur(SP4和SP5),並做了重複的搜索
SP1 | SP2 | SP3 | SP4 | SP5 |
194 | R70034 | Poti 470k |123546 |88859
194 | R10023 | Potentiometer |88859 |
196 | S10063 | Schalter |7773 |
197 | S10063 | Schalter |99992 |
64 | CB75000 | 3 |177777 |
199 | CB75000 | 5 |99999 |
說明:在SP4總有值(Materialnumber)。 現在,當我在尋找重複它應該只找到這樣的結果:
SP1 | SP2 | SP3 | SP4 | SP5 |
196 | S10063 | Schalter |7773 |
197 | S10063 | Schalter |99992 |
64 | CB75000 | 3 |177777 |
199 | CB75000 | 5 |99999 |
,因爲SP5數(88859)亦在SP4(88859)和SP1是中均有記載相同數量( 194)
但如果它看起來像這樣,那麼結果是正確的
SP1 | SP2 | SP3 | SP4 | SP5 |
194 | R70034 | Poti 470k |123546 |0000001
194 | R10023 | Potentiometer |88859 |
196 | S10063 | Schalter |7773 |
197 | S10063 | Schalter |99992 |
64 | CB75000 | 3 |177777 |
199 | CB75000 | 5 |99999 |
謝謝您的幫助!
我剛剛看到你的問題,我不明白一件事。您是忽略SP5中的值還是必須將其與SP4中的值進行比較? – grahamj42 2013-03-24 12:34:34
我必須將它與sp4進行比較 - 但只有在兩行中的sp1相同時才適用。當sp1重複時,Sp5是我的程序中應該使用的首選材料編號 – user2153413 2013-03-24 13:45:20
我還有點不清楚。 ** 0000001 **從哪裏來的? – grahamj42 2013-03-24 13:55:56