我在 SQL 方面相对较新,所以如果这很明显,我深表歉意,但我无法弄清楚如何在我的主查询的 where 语句中使用 WITH 子句查询的结果。我的 with 查询为每个客户提取第一条记录并给出该记录的销售日期:
WITH summary AS(
SELECT ed2.customer,ed2.saledate,
ROW_NUMBER()OVER(PARTITION BY ed2.customer
ORDER BY ed2.saledate)AS rk
FROM Filteredxportdocument ed2)
SELECT s.*
FROM summary s
WHERE s.rk=1
我需要使用上述查询中的日期作为起点,并提取每个客户前 12 个月的所有记录,即销售日期在 ed2.saledate 和 ed2.saledate+12 个月之间。我的主要查询是:
SELECT ed.totalamountincvat, ed.saledate, ed.name AS SaleRef,
ed.customer, ed.customername, comp.numberofemployees,
comp.companyuid
FROM exportdocument AS ed INNER JOIN
FilteredAccount AS comp ON ed.customer = comp.accountid
WHERE (ed.statecode = 0) AND
ed.saledate BETWEEN ed2.saledate AND DATEADD(M,12,ed2.saledate)
我确信我需要将主查询添加到 WITH 子句中,但我不知道在哪里。请问有人能帮忙吗