- ベストアンサー
SQLserverでのUPDATE文について
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.色) どのような記述をすれば良いのでしょうか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
他表を利用してupdateする場合、SQL Serverでは、from句を使用します。 UPDATE TABLE_A SET 単価 = TABLE_B.単価 FROM TABLE_B WHERE TABLE_A.商品 = TABLE_B.商品 AND TABLE_A.色 = TABLE_B.色
その他の回答 (1)
- pbforce
- ベストアンサー率22% (379/1719)
回答No.1
> (select TABLE_B.単価 from TABLE_B where TABLE_A.商品 = TABLE_B.商品 and TABLE_A.色 = TABLE_B.色) がすでに成り立っていないような気がします。
質問者
お礼
ご回答ありがとうございました。 私の勘違いで項目のスペルミスがありました・・・・ 無事に更新することができました。
お礼
ご回答ありがとうございました。 無事に更新できました。 大変参考になります。