答えが単純で、私がばかであることを願っています。
day
したがって、 (with PK id_day
) とhour
(with PK )の 2 つのテーブルがありid_hour
ます。
、フィールド、プラス FK フィールド (禁止されている時間) をtilt_time
持つ別のテーブルがあります。たとえば、次の行 ( 、、) があります。id_day
id_hour
tilt_time
id_day
id_hour
id_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 つの異なる行を表します)
このクエリを実行するにはどうすればよいですか?