答えが単純で、私がばかであることを願っています。
dayしたがって、 (with PK id_day) とhour(with PK )の 2 つのテーブルがありid_hourます。
、フィールド、プラス FK フィールド (禁止されている時間) をtilt_time持つ別のテーブルがあります。たとえば、次の行 ( 、、) があります。id_dayid_hourtilt_timeid_dayid_hourid_target
1,1,1
1,2,1
1,3,1
1,1,2
1,2,2
In tableday id_dayは 1 から 5 (月曜日から金曜日)の間で、1 から 6 の間です (したがって、5*6=30 の値を持つテーブルをhour id_hour想像できます)。day_hour
そこで、 queryid_target=1の無料期間とid_target=2の無料期間 (everbody の無料期間) が必要です。だから私は似たようなものをしたい:
1,4,1
1,5,1
1,6,1
2,*,1
3,*,1
4,*,1
5,*,1
// id_target=2
1,3,2
1,4,2
1,5,2
1,6,2
2,*,2
3,*,2
4,*,2
5,*,2
(* はすべての有効なid_hour値を意味するため、* を含むすべての行は 6 つの異なる行を表します)
このクエリを実行するにはどうすればよいですか?