ようこそ ゲスト さん、新規登録(無料)して気になる疑問を解決しませんか?

質問

QNo.3474112 SQLserverでのUPDATE文について
質問者:hiro840 SQLserverで下記のようにテーブルがある場合、
TABLE_Bの単価をTABLE_Aの単価にセットしたい場合、
どのようにUPDATE文を記述すればよいでしょうか?
TABLE_A
商品 色 単価 数量 備考  
TABLE_B
商品 色 単価
条件:商品と色が一致するもの
TABLE_Bには重複データは無いものとする。

クエリーアナライザーで下記のように記述すると
エラー「列名が無効です」となりました。
UPDATE TABLE_A SET TABLE_A.単価 = (select TABLE_B.単価 from TABLE_B where TABLE_A.商品 = TABLE_B.商品 and TABLE_A.色 = TABLE_B.色)
どのような記述をすれば良いのでしょうか?
困り度:
  • すぐに回答を!
質問投稿日時:
07/10/30 12:12
この質問に対する回答は締め切られました。

回答良回答20pt

ANo.2 他表を利用してupdateする場合、SQL Serverでは、from句を使用します。

UPDATE TABLE_A
SET 単価 = TABLE_B.単価
FROM TABLE_B
WHERE TABLE_A.商品 = TABLE_B.商品
AND TABLE_A.色 = TABLE_B.色
回答者:chukenkenkou
種類:アドバイス
どんな人:一般人
自信:参考意見
回答日時:
07/10/30 16:14
この回答へのお礼ご回答ありがとうございました。
無事に更新できました。
大変参考になります。

回答良回答10pt

ANo.1 > (select TABLE_B.単価 from TABLE_B where TABLE_A.商品 = TABLE_B.商品 and TABLE_A.色 = TABLE_B.色)

がすでに成り立っていないような気がします。
回答者:pbforce
種類:アドバイス
どんな人:経験者
自信:参考意見
回答日時:
07/10/30 15:23
この回答へのお礼ご回答ありがとうございました。
私の勘違いで項目のスペルミスがありました・・・・
無事に更新することができました。