私は 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 句に追加する必要があることは確かですが、どこにあるのかわかりません。誰か助けてください