Sql-Server

僅選擇特定列具有不同值的記錄

  • November 2, 2018

在我的表中,有一些記錄對於同一帳號具有不同的名稱值,我只想提取名稱欄位中具有不同值但共享相同帳號的記錄。始終具有與我要忽略的帳號關聯的相同名稱的記錄,無論它們出現多少次。

所以,從這裡:

ID NAME    ACCNR
1  Peter   123456
2  Peter   123456
3  Jimmy   445566    
4  John    987654 
5  Robert  987654   
6  Robert  556644     
7  Sally   112233
8  Harry   987654

我想提取這個:

4  John    987654 
5  Robert  987654  
8  Harry   987654
SELECT DISTINCT t1.*
FROM table t1, table t2
WHERE t1.accnr = t2.accnr
 AND t1.name != t2.name

看起來我實現了我所需要的:

SELECT NAME,ACCNR FROM tblAccounts WHERE (ACCNR) in (
SELECT ACCNR FROM tblAccounts
GROUP BY ACCNR
HAVING min(NAME) <> max(NAME))

引用自:https://dba.stackexchange.com/questions/220976