質問 |
||
| 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 |
|
| |
| この回答へのお礼 | ご回答ありがとうございました。 私の勘違いで項目のスペルミスがありました・・・・ 無事に更新することができました。 |