0
複数の条件で結合する必要がある2つのテーブルがあります。ほとんどの部分については、これは最後の条件を除いて単純です:
Select * from tableA
left outer join tableB on condition1
OR condtion2
OR condtion3
OR condtion4
OR <the record with the most recent tableB.date before tableA.date that has not already been joined in the above conditions>
私は、このようなクロスパス、無駄にネストされたクエリとケースステートメントを使用するなど、いくつかのオプションを試してみました。 (常に1:Mの一致、または不正確な一致をゲットしているようです)
1:1マッピングしかないことを保証する方法はありますか?つまり、テーブルBのレコードがすでにレコードにマップされている場合以前の状態を経由にtableAで最後の条件にそれと一致しないために)
例:?
テーブルA:(意思決定)
ID
-----
DEC1
DEC2
DEC3a
DECX
テーブルB:(タスク)
ID
-----
TASK1
TASK2
TASk3
TASK4
アウト予想:
DecID|TaskID
------------
DEC1 |TASK1
DEC2 |TASk2
DEC3a|TASK3
DECX |TASK4
最初の3行は、既存の条件によって覆われています。 DECXはまだマップされていないタスクにマップすることができます
代わりにいくつかのサンプルデータと期待どおりの結果を表示できますか? –