0

私は完全に機能する次のコードを持っています。

CTEの結果をクエリ結果の列として使用してクエリに含める必要がありますが、含める方法がわかりません。何かアイデアはありますか?

私が欲しいのは事実上これです:

select a, 
b, 
c, 
d,

WITH invoicedates AS (
    SELECT 
        ROW_NUMBER() OVER (ORDER BY Inv_Date DESC) AS RowNumber,
        inv_Date, INVIT_PARTNO
    FROM Invoices join InvoiceItems on invit_invno = inv_no
    WHERE invit_partno  = stock_no and inv_canind <> 'Y' and inv_date >= DATEADD(yy, -1, getdate())
)
SELECT
   AVG(DATEDIFF(DD, O2.Inv_Date, O1.Inv_Date)) AS AverageFrequency
FROM invoicedates O1
LEFT JOIN invoicedates O2
    ON O2.RowNumber = O1.RowNumber + 1

在庫から.........。

abcd結果の結果出力を提供します

4

1 に答える 1

0

CTE の使用方法を並べ替えることができるはずです。

    ; WITH invoicedates (RowNumber, inv_Date, INVIT_PARTNO) AS (
    SELECT 
        ROW_NUMBER() OVER (ORDER BY Inv_Date DESC) AS RowNumber,
        inv_Date, INVIT_PARTNO
    FROM Invoices join InvoiceItems on invit_invno = inv_no
    WHERE invit_partno  = stock_no and inv_canind <> 'Y' and inv_date >= DATEADD(yy, -1, getdate())
)

select a, 
b, 
c, 
d,
  AVG(DATEDIFF(DD, O2.Inv_Date, O1.Inv_Date)) AS AverageFrequency
FROM invoicedates O1
LEFT JOIN invoicedates O2
    ON O2.RowNumber = O1.RowNumber + 1
于 2013-01-23T16:16:06.023 に答える