2016-12-01 12 views
4

テーブル内にテーブルを宣言するSQLクエリがあります。テーブル変数からテーブルを更新する

Declare @t table(tagname nvarchar(50), Value float, timestamp datetime) 

次に、この表に日付を挿入します。これが完了したら、別のテーブル(既に作成済み)を@tから更新したいと思います。

の線に沿って何か:これは明らかに動作しませんし、私はこのエラーを取得する

UPDATE Optimiser_tagData 
SET Optimiser_tagData.value = @t.value 
where Optimiser_tagData.tagName = @t.tagName 

Must declare the scalar variable "@t"

私は、私は非常に簡単な何かをしないのですが、私はできません確信していますかなりそれを把握する。

+3

あなたは 'JOIN'二つのテーブルに必要 - ' @のT 'と 'Optimiser_tagData' – Abhishek

答えて

7

あなたの更新ステートメントは以下のようになります。あなたはTable variableOptimiser_tagDataの間に結合を適用する必要があります。そして、あなたは全体(表変数宣言など)などの更新ステートメントを実行する必要があります

UPDATE Optimiser 
    SET Optimiser.value = t.value 
    from Optimiser_tagData Optimiser 
    join @t t 
    on Optimiser.tagName = t.tagName 
+1

ライブセーバー、歓声 – Silentbob

関連する問題