ヘッダーと行の詳細テーブルがあります。そのような;
ヘッダー テーブル:TRANSACTIONS
行詳細テーブル:TRANSACTIONS_LINE_DETAIL
TRANSACTIONS テーブル: SQ_TRANSACTION_ID、CH_TRANSACTION_NAME、..列が含まれます。
TRANSACTIONS_LINE_DETAIL テーブル: SQ_TRANSACTION_LINE_DETAIL_ID、RF_TRANSACTION_ID、CH_LINE_CODE、..列が含まれます。
TRANSACTIONS_LINE_DETAIL テーブルは、TRANSACTIONS テーブルに保持された各トランザクションに対して 1 つ以上の詳細行を保持します。
だから私の問題は次のとおりです。
X、Y、Z の行コードを一緒に持つトランザクションを取得するクエリを書きたいと思います。(CH_LINE_CODE)。
私はこのように書きました。
SELECT DISTINCT
TR.RF_TRANSACTION_ID
FROM
TRANSACTIONS_LINE_DETAIL TR
WHERE
TR.CH_LINE_CODE IN ('X','Y','Z')
しかし、このコードは、「Y」、「X」、または「Z」を持たないトランザクションを返す可能性があります。つまり、トランザクションにすべての回線コードを含める必要があります。
可能性のあるトランザクションを取得するクエリが必要です
X、Y、Z
また
A、B、C、X、Y、Z
また
X、Y、Z、P
しかし、そうではありません
バツ
また
X、Y
また
Z、Y、A、B
.