私はおそらく忘れっぽいか、複雑すぎるだけだと確信しています...しかし、これが私のシナリオです:
暦表(毎年の毎日の記録)
iso_date
01/01/01
02/01/01
03/01/01
04/01/01
会場表(会場ごとの記録)
venue
All London
London Tower
London Bridge
Millenium Bridge
複合会場テーブル (リンクされた会場への参照)
master_venue, child_venue
All London, All London
All London, London Tower
All London, London Bridge
All London, Millenium Bridge
London Tower, London Tower
London Bridge, London Bridge
Millenium Bridge, Millenium Bridge
予約表(日付と会場を含むすべての予約の記録)
iso_date, venue, event
01/01/01, All London, 1
02/01/01, London Tower, 2
02/01/01, Millenium Bridge, 3
04/01/01, London Bridge, 4
イベント テーブル
event, status
1, 1
2, 0
3, 1
4, 1
ここで、予約されているかどうかに関係なく、毎日すべての会場のレコードを取得できるように、テーブルに参加したいと考えています。会場に予約がある場合、イベント ステータスが 1 の場合にのみ確認したい。
出力
iso_date, venue, booked
01/01/01, All London, 1
01/01/01, London Tower, 1
01/01/01, London Bridge, 1
01/01/01, Millenium Bridge, 1
02/01/01, All London, 0
02/01/01, London Tower, 0
02/01/01, London Bridge, 0
02/01/01, Millenium Bridge, 1
03/01/01, All London, 0
03/01/01, London Tower, 0
03/01/01, London Bridge, 0
03/01/01, Millenium Bridge, 0
04/01/01, All London, 0
04/01/01, London Tower, 0
04/01/01, London Bridge, 1
04/01/01, Millenium Bridge, 0
レコードが完全に削除されるため、where 句でイベント ステータスを使用することはできません。
サブクエリやいくつかの複雑なケース ステートメントを使用できることはわかっていますが、テーブルをインテリジェントに結合して問題を解決することはできますか?