2012年2月29日水曜日

[SQLServer]他テーブルを利用したUPDATE文

From Evernote:

[SQLServer]他テーブルを利用したUPDATE文

更新の際によくつまづくので…。

-------------------------------------------------
update [dbo].[T_日報計上]  AS A
set  A.受注情報No =
     ( SELECT B.test受注情報No FROM  [dbo].[T_日報基本] AS B where  B.日報No = A.日報No)
-------------------------------------------------
がいいんだけど
SQLServerだとうまくいかないので
FROM句を使うこと。
-------------------------------------------------
update [dbo].[T_日報計上]
set 受注情報No = B.test受注情報No
FROM [dbo].[T_日報基本] AS B
where  B.日報No = [dbo].[T_日報計上].日報No
-------------------------------------------------

ちなみにこれだと、Bテーブルが存在しない場合、AにNULLが入ってしまうので
それが嫌な場合は
さらにExistかWHEREで?あるかどうか調べることをお忘れなく。

0 件のコメント:

コメントを投稿