2018年3月20日火曜日

範囲SELECTで一部でも重なっているレコードを抽出 [SQL]

SQLで開始と終了の項目があり、SELECTで対象範囲を指定し、
"項目の開始~終了"と"対象範囲"が一部でも重なっているレコードを抽出する場合は、

SELECT * FROM Table
WHERE
(('対象範囲終了' >= '開始項目' AND '対象範囲開始' <= `終了項目`) OR
 ('対象範囲開始' >= `終了項目` AND '対象範囲終了' >= `開始項目`))

で抽出できる。

0 件のコメント:

コメントを投稿