【发布时间】:2015-03-04 16:19:56
【问题描述】:
我正在接受数据库管理方面的培训,这是我第一次发帖,如果我在发帖时没有遵循标准程序,我深表歉意。我已经搜索过,但找不到答案。
在 PostgreSQL 中,我试图查找 2014 年的所有新客户订单。但有些客户可能在 2013 年或 2012 年添加,但直到 2014 年才下订单。所以我试图查询客户在哪里在 2014 年 1 月 1 日之前没有订单,或者换句话说,他们的第一个订单是在 2013 年 12 月 31 日之后。
我知道这只会显示 2014 年添加的新客户,我只需要以某种方式获取之前添加的客户。
SELECT DISTINCT cust_name, COUNT (cust_name)
FROM cohead
JOIN custinfo
ON cust_id=cohead_cust_id
WHERE cust_dateadded >='1/1/2014' AND cust_dateadded <='12/31/2014'
AND cohead_orderdate >='1/1/2014' AND cohead_orderdate <='12/31/2014'
GROUP BY cust_name
ORDER BY cust_name
【问题讨论】:
-
您的查询并未披露每列的来源。请提供表定义(您在 psql 中使用
\d tbl获得的内容),或至少在查询中提供表限定列。使用表别名来保持它的可读性。请总是声明你的 Postgres 版本。
标签: sql database postgresql date exists