使用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';