2017-07-04 3 views
1

私はテーブルがStudentBillDetailsと言っているこのテーブルでは、データは毎年保存され、yridは他のテーブルを参照しています。今私は問題を抱えている。以下に説明するように、一致しないレコードを検索したいと思います。上記のテーブル構造で同じテーブルのSQL Serverで一致しないレコードを取得するにはどうすればよいですか?

Stid BillNo Yrid 
1  525 3 
1  525 1 
1  525 4 
2  443 4 
2  442 1 
2  443 3 

あなたは三年間StId 1ために見ることができるように同じ値を持っていますが、Yrid 1で競合をStId 2ています。だから私はこれらのタイプのレコードを取得したい。あなただけのフラグに競合を持ってStid値をしたい場合は

答えて

1

次の簡単なクエリは動作するはずです:

SELECT Stid 
FROM yourTable 
GROUP BY Stid 
HAVING COUNT(DISTINCT BillNo) > 1 

あなたが上記のクエリにあなたのテーブルに参加しようとすることができ、全体の記録をしたい場合

SELECT t1.* 
FROM yourTable t1 
INNER JOIN 
(SELECT Stid FROM yourTable GROUP BY Stid HAVING COUNT(DISTINCT BillNo) > 1) t2 
    ON t1.Stid = t2.Stid 
+0

あなたのコードは魅力的に機能し、混乱はありません。ありがとうございました.. –

関連する問題