普及SQL数据库查询返回的结果超出了我需要的范围

时间:2019-07-09 15:42:48

标签: sql pervasive pervasive-sql sage-erp sage50

使用Sage 50和Pervasive ODBC客户端界面从数据库中提取只读数据。

我有一个查询,用于根据新客户的第一个发票日期查找他们。它应该返回一个已购买商品的类别名称,其最小交易日期(第一张发票日期-Sage不会生成此日期)以及第一张发票的总金额。

问题是,当新客户在选定的日期范围内多次购买时,查询将获取其最大的发票金额,即使该金额超出了我要查找的范围也是如此。我正在看Q1到Q2 1/1-6/30。

我尝试更改WHERE子句以限制它可以查看的发票,但它仍将获取大于范围的日期。我认为我遇到了FWGHSO问题。

WHERE journalex = 8 AND h.transactiondate BETWEEN '2019-01-01' AND '2019-06-30'

最终目标是根据新客户的第一张发票日期,第一张发票上的项目类别以及第一张发票的总发票金额,在新的日期范围内吸引新客户。

SELECT c.customerid, MAX(l.category) AS "Lead Source", MIN(h.transactiondate) AS "First Inv Date", MAX(r.amount) AS "Invoice Total"
FROM jrnlhdr "h" LEFT OUTER JOIN
 JrnlRow "r" ON h.postorder = r.postorder LEFT OUTER JOIN LineItem "l" ON r.itemrecordnumber = l.itemrecordnumber 
    INNER JOIN customers "c" ON r.customerrecordnumber = c.customerrecordnumber
WHERE journalex = 8 
GROUP BY c.customerid 
HAVING MIN(h.transactiondate) BETWEEN '2019-01-01' AND '2019-06-30';

0 个答案:

没有答案