あなたが助けてくれることを願っています。3 つのテーブルがあり、条件付きクエリを作成して 1 つのテーブル内の行の存在に基づいてサブセットを作成し、その行を結果から除外してから、最終的な 3 番目のテーブルをクエリしたいと考えています。これは十分に簡単だと思いましたが、SQL の経験が十分ではなく、左結合、相関サブクエリなどで 6 時間調査/テストした後、それは役に立ちましたが、まだ正しい結果セットをヒットできません。 . セットアップは次のとおりです。
T1
arn_mkt_stn
a00001_177_john_fm
a00001_177_bill_fm
a00001_174_dave_fm a00002_177_john_fm
a00006_177_bill_fmfm
a00010_1777_j7_john_3 -fig fig the fig the fig the fig fig fig
fimfm
T2
arn_mkt
A00001_105
A00001_177
A00001_188
A00001_246
A00002_177
A00003_177
A00004_026
A00004_135
A00004_177
A00006_177
A00010_177
Example: So if _177_JOHN_FM is a substring of arn_mkt_stn rows in T1, exclude it when getting arn_mkts with a substring of 177 from T2 - in this case, the desired result set would be :
A00003_177
A00004_177
A00006_177
同様に、_177_BILL_FM は次を返します:
A00002_177
A00003_177
A00004_177
A00010_177
次に
、
この結果セットを使用して、「A00003」などに基づいて 3 番目のテーブルからレコード
を
取得
し
たい
と
思い
ます
。メソッド
の
_ stn_code'
AND SUBSTRING(arn_mkt, 8,3) = '$stn_mkt' (次に、この結果を使用して T3 をクエリします..)
また、左結合とサブクエリですが、明らかに何かが欠けています! 感謝して受け取ったポインタ、ありがとう、
リッチ。
[編集: sgeddes を助けてくれてありがとう。上記のロジックを拡張します...最初に、必要な結果セットは常にクエリごとに 1 つの名前のみに関連付けられています。たとえば、T1 から JOHN_FM を使用できます。T1 では、JOHN_FM は現在「arn's (arn_mkt_stn 内): A00001、A00002 & A00010」に関連付けられています。T2 の次のステップは、JOHN_FM の 3 桁のプレフィックス (177) を持つすべての「arn (arn_mkt 内)」を検索し、T1 にあるものを除外することです。注: T1 で JOHN_FM に接続されていないため、A00006 が残ります。BILL_FM の同じクエリでは、T1 にこの関連付けがあるため、A00001 と A00006 を除いて、わずかに異なる結果が得られます.. ありがとう、R]