私はこのような日付範囲の結果を生成するクエリ(BLA .. BLA .. SELECT * FROM)を持つ:MySQLは、日付範囲リストから各日付を生成します
code | date1 | date2
a | 2016-04-19 | 2016-04-21 |
b | 2016-04-13 | 2016-04-14 |
が、私はそれの毎日を生成したいが次のようにdate1とdate2の間の日付範囲:
コード| date_result
a | 2016-04-19
a | 2016-04-20
a | 2016-04-21
b | 2016-04-13
b | 2016-04-14
私はこのような2つの日付範囲の間の各日付を生産するクエリの例が見つかりました:
SELECT ADDDATE('2016-04-10', INTERVAL @i:[email protected]+1 DAY) AS DAY
FROM (
SELECT a.a
FROM (SELECT 0 AS a UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9) AS a
CROSS JOIN (SELECT 0 AS a UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9) AS b
CROSS JOIN (SELECT 0 AS a UNION ALL SELECT 1 UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5 UNION ALL SELECT 6 UNION ALL SELECT 7 UNION ALL SELECT 8 UNION ALL SELECT 9) AS c
) a
JOIN (SELECT @i := -1) r1
WHERE
@i < DATEDIFF('2016-04-19', '2016-04-10')
をしかし、私は私のクエリでそれを実装することはできません:(
興味深いですが、集計表のような一時表を作成したくない場合はどうしたらいいですか。 – Interardo