myTableは、列AとB(合計列A、B、C、D、E)で構成される複合キーを持っています。複合自己結合SQLクエリで必要なヘルプ
Dの値(注文番号と同じ)が同じで、E(決定)が1でYが他の場合はNまたはNullであるレコードを除外/無視したいと考えています。 (E = Yであるため)最初に注文された後、再び取り消される(つまりE = N)無視されるべき同じ注文番号(等しいD値)を有するすべての双子レコードを意味する)
したがって、 Dは同じであるが、Eは、他の
SELECT *
FROM myTable A, myTable B
WHERE
(A.D=B.D)
AND
((A.E ='Y' AND (B.E ='N' OR B.E IS NULL)) OR (B.E='Y' AND (A.E='N' OR A.E IS NULL)))
の一方のYとNであるすべてのレコードのBは、今私の最終的な出力は、すべてのMYTABLEからのレコードではなく、上記見つかったレコードがなければなりません。
私は結合クエリを書いたが、それはうまくいかない。基本的に問題は、2つの複合キーを比較する方法ですか?
サンプルデータ:
A B C D E
=========================
1 A xyz ONE Y
2 B pqr TWO Y
3 C lmn ONE N
4 D abc THREE Y
5 E ijk FOUR Y
=========================
1と3が無視されるようにこのように、私の出力は、レコード2,4および5にする必要があります。 1.D = 3.Dと1.EはYですが3.EはN.に
おかげなので、 ニック
:OU、何が必要このですか? – elevener
@elevener:質問 – Nik
を更新しました。サンプルデータを入力して、そのサンプルデータに対して望ましい結果を与えることはできますか?それはあなたの質問を30倍に理解しやすくします。 –