【发布时间】:2015-09-13 18:31:38
【问题描述】:
我有一个非常简单的 postgres (9.3) 查询,如下所示:
SELECT a.date, b.status
FROM sis.table_a a
JOIN sis.table_b b ON a.thing_id = b.thing_id
WHERE EXTRACT(MONTH FROM a.date) = 06
AND EXTRACT(YEAR FROM a.date) = 2015
六月的某些日子在table_a 中不存在,因此显然没有加入table_b。为这些未表示的日期创建记录并为其“状态”列分配占位符(例如“空”)的最佳方法是什么?使用纯 SQL 甚至可以做到这一点吗?
【问题讨论】:
-
cd.date处于非法引用中。请修正您的示例代码并提供 Postgres 版本和您的列date的数据类型。另外:table_b总是有整天吗? -
已修复。 table_b 包含状态码,其中一个适用于table_a 中的每一天。
-
数据类型?是
date还是timestamp? -
a.date 类型为
date
标签: postgresql calendar