我正在构建复杂的查询,但我遇到了问题...... 实际上,我从sqlite中的递归函数中检索日期范围:
WITH RECURSIVE dates(d)
AS (VALUES('2014-05-01')
UNION ALL
SELECT date(d, '+1 day')
FROM dates
WHERE d < '2014-05-5')
SELECT d AS date FROM dates
结果如下:
2014-05-01
2014-05-02
2014-05-03
2014-05-04
2014-05-05
我会在其他查询上加入此查询,关于此:
select date_column, column1, column2 from table
结果如下:
2014-05-03 column_value1 column_value2
最后,我想在输出中看到类似的结果(加入第一个查询和第二个查询的date_column):
2014-05-01 | | |
2014-05-02 | | |
2014-05-03 | column_value1 | column_value2 |
2014-05-04 | | |
2014-05-05 | | |
如何获得此结果?
感谢!!!
答案 0 :(得分:1)
为什么不做这样的事情?
WITH RECURSIVE dates(d)
AS (VALUES('2014-05-01')
UNION ALL
SELECT date(d, '+1 day')
FROM dates
WHERE d < '2014-05-5')
SELECT
dates.d AS date
,table.column1
,table.column2
FROM dates
left join table
ON strftime("%Y-%m-%d", table.date_column) = dates.date
也许您需要转换日期......