-1

次の状況でクエリを作成する必要があります。

3 列: "box"、"in"、"out" (box は整数、in と out は日付)

「イン」日から「アウト」日(これらの日付の間の期間)まで、特定のボックスID番号がすでに指定されているかどうかをテストする必要があります。

私は次のようなことを考えました:

SELECT COUNT(*) FROM `tbl` WHERE `box` = '#' AND ***period*** BETWEEN 'date1' AND 'date2'

(私は BETWEEN がこのように機能しないことを知っています (リンク), しかし、それはあなたにアイデアを与えるためでした...)

period = データベースに登録しようとしている新しい日付

したがって、クエリが '0' を返す場合、私はこのボックスをそれらの日付に割り当てることができることを知っています。私は先週からここで立ち往生しています!! バツ(

4

1 に答える 1

0

次のいずれかが必要だと思います:

SELECT COUNT(*) FROM tbl WHERE box = '#' AND
    `in` =< 'date1' AND out >= 'date1'
    OR `in` =< 'date2' AND out >= 'date2'

また

SELECT ... AND
    period BETWEEN `in` AND out
于 2013-03-03T18:46:18.637 に答える