テーブル変数の更新中に問題が発生しました。私は、全体のクエリを実行すると、私はすでにそれを宣言した、しかし、私はこのエラーを取得:'。'の近くの構文が正しくありません。変数テーブルを更新中
UPDATE @List
SET nrID = CASE
WHEN nrID IS NULL
THEN t1.nrID
ELSE nrID
END
FROM @List
INNER JOIN table1 t1 ON @List.PNr = t1.PNr
INNER JOIN table2 t2 ON t1.n nrPNr = t2.nrPNr
WHERE t1.PNr = t2.PNr AND t2.Isactive = 0
...
Incorrect syntax near '.'.
をそして私はこの問題を解決するように見えることはできません
は「List.nrID @ SET」ここからテーブル名を取り出してみてください、これを試してみてください、あなたはすでにあなたが更新しているものをテーブルにそれを言いました。 –
table2に "O"のエイリアスを付けましたが、 "t2"のエイリアスに参加しています。あなたのコードには "t2"は定義されていません。 – JiggsJedi
さらに、 'nrID'を' table1'に結びつけるなら、あなたのset/case文は冗長です。 '@List.nrID'は結合述語から決してヌルにはならず、nullはそれに何も参加できません平等のために評価することはできません。言い換えれば、 'table1'への内部結合により、すぐにヌル' @List.nrID'を持つすべての行が削除されます.--一致するすべての行が '@List.nrID'に更新されます。 – JiggsJedi