こんにちは私は、ユーザーがレストランを予約できるデータベースを作成しています。以下は、私のデータベースのデータモデルです。SQLによるデータベースチェック予約
私の質問は、私はちょっと混乱して、どのように私は特定の夜に利用可能なテーブルをチェックするだろうと思います。レストランには、夜間に15人のテーブルがあり、テーブルには4人がいます(グループは4〜6人、グループが4人以上の人は2人のテーブルを取る)。
どのように私はデータベースを特定の夜に利用可能なテーブルを返すように問い合わせるでしょう。
ありがとうございました。
編集:
これは私が試みたものです。それは、テーブルのなし存在をチェックされるように、これはよく空の行を返す
SELECT tables.table_id
FROM tables
LEFT JOIN table_allocation
ON tables.table_id = table_allocation.table_id
WHERE table_allocation.table_id is NULL;
(私はそれを行う方法は非常に確認していないとして、それのいくつかは擬似です)。私はどのように私は日付のビットテストを行うだろうか分からない。平易な英語で
SELECT *
FROM TABLES
WHERE
TABLE_ID NOT IN (
SELECT TABLE_ALLOCATION.TABLE_ID
FROM
TABLE_ALLOCATION
JOIN RESERVATION
ON TABLE_ALLOCATION.RESERVATION_ID = RESERVATION.RESERVATION_ID
JOIN THEMED_NIGHT
ON RESERVATION.THEME_ID = THEMED_NIGHT.THEME_ID
WHERE
THEME_NIGHT_NAME = :the_date
)
:
http://mattgemmell.com/2008/12/08/what-have-you-tried/ –