クエリがテーブル A の計算をテーブル B の範囲と比較し、対応する値を 3 番目のテーブル (テーブル C) の範囲 (テーブル B) に日付に基づいて挿入する 2 つのテーブル (A と B) があります。 . ただし、テーブルAに毎日のデータがない可能性があり、その日は2番目に低い範囲に対して値を入力したいと考えています。
TABLE B
id(PK)|date| v1 | v2
TABLE A
Aid|id(FK)|MinRange|MaxRange|Value
TABLE C
Cid|b.date|id(FK)|b.v1|b.v2|A.value
次のような句IF EXISTS
に埋め込む方法を探しています。WHERE
SELECT B.value
from TableB B
INNER JOIN TableA A ON A.id=B.id
WHERE B.id=4
and (IF DATA EXISTS) B.v1+B.v2 between A.min and A.max (ELSE Choose the second lowest A.min)`
上記のクエリは、私がやろうとしていることを説明するための例であるため、有効なクエリではありません。明らかなパフォーマンスの問題のためにサブクエリを使用したくありません。
よろしくお願いします。よろしくお願いします:)