![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
http://oshiete1.goo.ne.jp/kotaeru.php3?q=1211685
にも同じような質問があったのですが、同様の処理でうまくupdateされません。分かる方がいらっしゃいましたら教えてください。
今、テーブルが2つ(table1、table2)があり、それぞれ2つのカラム(column1、column2)を持っています。ここで、それぞれのカラム2が等しく、カラム1が指定した値のレコードのみ値をupdateしたいです。
update table1 set column1 = 'AAA' from table1,table2 where table1.column2 = table2.column2 and table1.column1 = 'BBB' and table2.column1 = 'CCC'
としたところ、「from table1,table2 where 」の辺りに間違いがあると表示されます。
上の例とどう違うのか分かりません。
よろしくお願いします。m(__)m
A 回答 (7件)
- 最新から表示
- 回答順に表示
No.7
- 回答日時:
fromにtable1は不要なのではないでしょうか?
update table1
set column1 = 'AAA' from table2
where table1.column2 = table2.column2
and table1.column1 = 'BBB'
and table2.column1 = 'CCC'
こんな感じでいけると思いますよ
No.6
- 回答日時:
通りかかりました。
1.SELECTはできるのでしょうか?UPDATE文をSELECT文にかえて
実行してみて下さい。
2.SELECTができてUPDATEができないのであれば、
SQLサーバーの4.1(私は存在を知らないですが)が
SQL文の仕様にあっていないのかも知れませんので、
別の方法で模索されてはいかがでしょうか?
たとえば、EXISTS句を使用されるとか。
例:
UPDATE table1
SET column1 = 'AAA'
FROM table1
WHERE
table1.column1 = 'BBB'
AND EXISTS
(
SELECT *
FROM table2
WHERE
table1.column2 = table2.column2
AND table2.column1 = 'CCC'
)
No.5
- 回答日時:
No4 さん同様の疑問を抱いています。
update table1 set column1 = 'AAA' from table1, table2 where table1.column2 = table2.column2 and table1.column1 Like 'BBB' and table2.column1 Like 'CCC'
表[TABLE1] を更新しました。
と、Like 演算子を使わないとエラーになるケースかも知れません。
先のテストは、varchar を前提にしたものです。
![](http://oshiete.xgoo.jp/images/v2/common/profile/M/noimageicon_setting_16.png?5a7ff87)
No.4
- 回答日時:
はじめまして。
column1、column2それぞれの属性を教えていただけますか。
無粋な確認ですが、column1は英数字属性(char等)になっていますでしょうか。
No.3
- 回答日時:
#1です。
全角スペースなかったんですね^^;
それでは、ちょっと書き直してみましょうか。
table1 → a
table2 → b
と置き換えしてみます。(こちらの方が私は分かりやすいです^^;)
update a
set a.column1 = 'AAA'
from table1 as a, table2 as b
where a.column2 = b.column2
and a.column1 = 'BBB'
and b.column1 = 'CCC'
もしくは、私の場合、よくjoinを使うのですが、下記のように書いてみてください。
update a
set a.column1 = 'AAA'
from table1 as a join table2 as b on (a.column2 = b.column2)
where a.column1 = 'BBB'
and b.column1 = 'CCC'
この書き方で出来ないでしょうか?
この回答への補足
無理です。(涙
どちらの場合も「from」の所でつまずきます。
SQLサーバーはバージョンが4.1なのですが、
このバージョンは対応していないのでしょうかねえ。。
No.2
- 回答日時:
No1さんの回答通りです。
table1とtable2を作成しテストしたところ首尾よく更新されましたよ。
update table1 set column1 = 'AAA' from table1,table2 where table1.column2 = table2.column2 and table1.column1 = 'BBB' and table2.column1 = 'CCC'
表[TABLE1] を更新しました。
[TABLE1]
ID column1 column2
1 111111
2 AAA 111 <--- BBB が AAA に更新されました。
3 BBB 222
[TABLE2]
ID column1 column2
1 111111
2 CCC 111
3 CCC 333
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 工学 ちなみになぜv=(v・e1)e1+(v・e2)e2はe1やe2が、正規直交基底でないと成り立たないと 2 2022/12/22 17:22
- 工学 以前、線形代数からフーリエ級数展開を導く上で 式v=(v, e1)e1+(v, e2)e2+…+(v 6 2022/06/29 17:24
- 物理学 波の合成についてです E1(z,t)=A0cos(kz-ωt+Φ) E2(z,t)=A0cos(kz 1 2022/10/10 06:35
- 数学 「(((a0)/2)・1, 1) …(a0)/2の1倍と1の内積 =(a0)(1, 1) …1 と1 5 2022/07/05 19:11
- その他(趣味・アウトドア・車) BLが好きだと決めつけられます。 1 2022/04/24 10:25
- 電気工事士 平均照度の計算あっているか教えてください。忙しいと思いますがよろしくお願いします。 現地測定し数値を 1 2022/09/29 07:37
- Oracle データベースのカラムの型がCHAR型の場合で 値にシングルコーテーションつけなくても動作する場合と数 3 2022/04/25 12:00
- Excel(エクセル) Excel2007での条件付き書式について 6 2023/05/02 10:56
- その他(プログラミング・Web制作) x86_32のGASの擬似命令 3 2023/06/07 19:55
- カスタマイズ(車) 2003年式レガシィB4 2.0GT TA-BL5に乗ってるのですが このマイルドダンパーという車高 2 2023/06/11 22:09
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
INSERT文でフィールドの1つだ...
-
count集計の結果が0の場合でも...
-
グループ毎の最大値を持つデー...
-
SQLでフィールドの順番を変更し...
-
SQLについて教えて下さい with(...
-
Unionの結果全体をOrder By し...
-
差し込み後、元データを変更し...
-
外部参照してるキーを主キーに...
-
フィルターかけた後、重複を除...
-
for whichの使い方
-
エクセルで最後の文字だけ置き...
-
1、Rstudioで回帰直線を求める...
-
Accessで処理経過を表示したい...
-
There is not/ There is noの違い
-
EXISTSを使ったDELETE文
-
エラー 1068 (42000): 複数の主...
-
SQLにて特定の文字を除いた検索...
-
速度が低下し無効になったアド...
-
副問合せの書き方について
-
SQLで特定の項目の重複のみを排...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
INSERT文でフィールドの1つだ...
-
count集計の結果が0の場合でも...
-
SQLでフィールドの順番を変更し...
-
SQLについて教えて下さい with(...
-
グループ毎の最大値を持つデー...
-
Unionの結果全体をOrder By し...
-
SQL server改行コード
-
SQL Server 2005 Express で CD...
-
'internal' のシステム メモリ...
-
JOINで1つのテーブルに空白があ...
-
自作関数の方がパフォーマンス...
-
MySQLで複数のSELECT文を1文に...
-
SQLでの計算結果がおかしい
-
SQLServerでの切り上げ処理
-
SQLについて教えてください(最...
-
文字列変換ついて
-
uniqueキーをupdateで+1するとE...
-
mysqlのalter table中のロック...
-
差し込み後、元データを変更し...
-
フィルターかけた後、重複を除...
おすすめ情報