我想检索表中不可用且 CTE 不起作用的日期

问题描述 投票:0回答:1

我有每个日期的产品市场和价格表,但表中缺少某些日期,我想要给定范围内的所有日期的日期,以及哪个日期不在表中,价格取自前一个日期,但日期将显示。 我必须生成给定范围内所有日期的日期。 CTE 在我的 mysql 版本 8.0 中不起作用 我想要对此进行有效的查询。

我想检索表中不可用的所有日期。

sql mysqli
1个回答
0
投票

选择t.dates from (SELECT DATE_SUB(@inTime, INTERVAL 0 DAY) AS 日期 union all SELECT DATE_SUB(@inTime, INTERVAL 1 DAY) union all SELECT DATE_SUB(@inTime, INTERVAL 2 DAY) union all SELECT DATE_SUB(@inTime, INTERVAL 3 DAY) union all SELECT DATE_SUB(@inTime, INTERVAL 4 DAY) union all SELECT DATE_SUB(@inTime, INTERVAL 5 DAY) union all SELECT DATE_SUB(@inTime, INTERVAL 6 DAY) union all SELECT DATE_SUB(@inTime, INTERVAL 7 DAY) union all SELECT DATE_SUB(@inTime, INTERVAL 8 DAY) union all SELECT DATE_SUB(@inTime, INTERVAL 9 DAY) union all SELECT DATE_SUB(@inTime, INTERVAL 10 DAY) union all SELECT DATE_SUB(@inTime, INTERVAL 11 DAY) union all SELECT DATE_SUB(@inTime, INTERVAL 12 DAY) union all SELECT DATE_SUB(@inTime, INTERVAL 13 DAY) union all SELECT DATE_SUB(@inTime, INTERVAL 14 DAY) union all SELECT DATE_SUB(@inTime, INTERVAL 15 DAY) union all SELECT DATE_SUB(@inTime, INTERVAL 16 DAY) union all SELECT DATE_SUB(@inTime, INTERVAL 17 DAY) union all SELECT DATE_SUB(@inTime, INTERVAL 18 DAY) union all SELECT DATE_SUB(@inTime, INTERVAL 19 DAY) union all SELECT DATE_SUB(@inTime, INTERVAL 20 DAY) union all SELECT DATE_SUB(@inTime, INTERVAL 21 DAY) union all SELECT DATE_SUB(@inTime, INTERVAL 22 DAY) union all SELECT DATE_SUB(@inTime, INTERVAL 23 DAY) union all SELECT DATE_SUB(@inTime, INTERVAL 24 DAY) union all SELECT DATE_SUB(@inTime, INTERVAL 25 DAY) union all SELECT DATE_SUB(@inTime, INTERVAL 26 DAY) union all SELECT DATE_SUB(@inTime, INTERVAL 27 DAY) union all SELECT DATE_SUB(@inTime, INTERVAL 28 DAY) union all 选择 DATE_SUB(@inTime, INTERVAL 29 DAY) )t;

© www.soinside.com 2019 - 2024. All rights reserved.