年、月、週、日、日のような列を持つカレンダーテーブルと呼ばれるテーブルがあります。day フィールドには、1、2、....7 のような値があります。
そこからタイムスパンを作りたい。月曜日から火曜日 (12:00)、火曜日 (12:00) から水曜日 (17:00) までの 1 つのスパンのように。1週間以内に
このために、私は次のようなクエリを書いています
SELECT
year,
week,
(SELECT date WHERE day = 1) AS st_date,
(SELECT date WHERE day = 2) AS end_date
FROM calendar
GROUP BY year, week
上記の構文が正しくないことは承知しています。この問題を解決できる構文があれば教えてください。
実際のテーブル定義は日本語なので、英語の列名に置き換えました。これは通常のカレンダーとは異なるカレンダー表です
登録ツールでは、ユーザーが期間外ではなく登録できるユーザーの期間を作成したいと考えています。
私の元のテーブルは次のようになります。
日付 年 月 曜日 -------------------------------------------- 2013/06/19 34 06 44 3 2013/06/21 34 07 44 5 2013/06/24 34 07 45 1 2013/06/25 34 07 45 2 2013/06/26 34 07 45 3
次のように出力するのが好きです
年 週 A_reg_range_st A_reg_range_end B_reg_range_st B_reg_range_end ----------------------------------------------- 34 45 2013/06/24 00:00:00 2013/06/25 12:00:00 2013/06/25 12:00:00 2013/06/26 17:00:00