1
CREATE TABLE #AvailableDate (
    CustomKey INT IDENTITY (1,1),
    SelectedFaceID INT,
    FromDate DATETIME,
    ToDate DATETIME,
    TempDate DATETIME,
    Diff INT)

INSERT INTO #AvailableDate(SelectedFaceID, FromDate, ToDate, TempDate, Diff)
    SELECT
        SelectedFaceID,
        FromDate,
        ToDate,
        (SELECT TOP 1 ToDate FROM #AvailableDate WITH(NOLOCK) ORDER BY #AvailableDate.CustomKey DESC),
        (SELECT DATEDIFF(
                    d,
                    ToDate,
                    (SELECT TOP 1 ToDate FROM #AvailableDate ORDER BY CustomKey DESC)
                )
        )
    FROM
        SelectedFace WITH(NOLOCK)

ここではSELECT TOP 1 ToDate FROM #AvailableDate WITH(NOLOCK) ORDER BY #AvailableDate.CustomKey DESC、上記のクエリの値またはに関連付けられた値を取得していません#AvailableDate

4

1 に答える 1

0

まったく新しい一時テーブルを作成していて、作成したばかりの同じテーブルで選択を行っているため、いくつかの値があると期待しています。値は、入力した後にのみ存在します。

一時テーブルを引き続き使用できますが、バッチを再配置し、最初に挿入を行い、後で TempDate フィールドと Diff フィールドを使用してレコードを更新する必要があります。

于 2012-12-17T06:48:02.307 に答える