2016-12-07 8 views
-1

ID, First NameLast nameのSQL Server 2012テーブルがあります。 IDは1人につき一意ですが、過去のフィードのエラーにより、異なる人に同じIDが割り当てられました。この場合同じIDで同じ列に異なる値のSQLテーブルを照会します

------------------------------ 
    ID FirstName LastName 
------------------------------  
    1 ABC   M 
    1 ABC   M 
    1 ABC   M 
    1 ABC   N 
    2 BCD   S 
    3 CDE   T 
    4 DEF   T 
    4 DEG   T 

ID’s 1を持つ人々は異なっている(彼らの最後の名前は明らかに異なる)が、彼らは同じIDを持っています。クエリを実行して結果を得るにはどうすればよいですか?この場合の表には何百万行もあります。小さいテーブルの場合は、ですべてのID’sを照会し、Excelでフィルタリングしている可能性があります。

私がしようとしているのは、2人の異なるユーザーに割り当てられたそのようなID'sのすべてのリストを取得することです。

ご意見やご協力をいただければ幸いです。

編集:私は質問を非常にうまく枠組みしているとは思わない。

複数のIDが2つあります。 1と4です。id 4の行は同じです。私は私の結果でこれを望んでいない。 IDが1の行は、最初の名前は同じですが、1行の姓が異なります。私はIDが同じであるが、最初または最後の名前のいずれかが異なるIDだけを必要とする。

複数の出現を持つIDを一時テーブルに読み込み、失敗したにもかかわらず親テーブルと比較しようとしました。私が試して実行できる他のアイデアですか?

+0

あなたが取得したい結果は何ですか? – DVT

+0

すみません。私はあまり明確ではなかった。ちょうど質問を編集しました。 –

+0

あなたの質問を読んだ後、私はさらに混乱しています。あなたは "ID 4の行は同じです"と言った。あなたが与えたデータと比較して、これは真実ではありません( 'DEF <> DEG')。 – DVT

答えて

3
SELECT 
    ID 
FROM 
    <<Table>> 
GROUP BY 
    ID 
HAVING 
    COUNT(*) > 1; 
+0

ありがとうございますが、私は別のものを探していました。私は自分の質問が完全ではないことに気付きました。だから、私はちょうどそれを更新しました:) –

0
SELECT * 
FROM myTable 
WHERE ID IN (
     SELECT ID 
     FROM myTable 
     GROUP BY ID 
     HAVING MAX(LastName) <> MIN(LastName) OR MAX(FirstName) <> MIN(FirstName) 
    ) 
ORDER BY ID, LASTNAME 
+0

あなたの時間をありがとうが、私は別の何かを探していた。私は自分の質問が完全ではないことに気付きました。だから、私はそれを更新しました:) –

関連する問題