
SQL文についてです。
表Aで列1と列2が'◎'のものについて、列3,列4,列5をそれぞれ'○','△','×'に更新したい場合は下記でOKだと思います。
UPDATE 表A
SET 列3 = '○', 列4 = '△', 列5 = '×'
WHERE 列1 = '◎' AND 列2 = '◎'
列1と列2をキーとして表Aと結合できる表Bが存在するとします。
条件に表Bの列6が'□'だった場合を追加したい時、どのような方法で行えば良いのでしょうか?
内部結合やWHERE EXISTSなどをいろいろ調べたのですが、SQL文に慣れていないためかうまくいきません。
初歩的な質問で申し訳ありませんが過去質問で参考になるものがなかったのでお願いします。
No.1ベストアンサー
- 回答日時:
UPDATE 表A
SET 列3 = '○', 列4 = '△', 列5 = '×'
WHERE 列1 = '◎' AND 列2 = '◎'
AND EXISTS
( SELECT 1 FROM 表B
WHERE 表B.列1 = 表A.列1
AND 表B.列2 = 表A.列2
AND 表B.列6 = '□' )
じゃだめですか。
nora1962さんありがとうございます。
実際の処理は複雑条件であり私が初心者であることで検証に時間がかかりましたが教えていただいた通りの構文でうまくいきました!
大変ありがとうございました。
No.2
- 回答日時:
おまけです(内部結合の例)
UPDATE 表A
SET 列3 = '○', 列4 = '△', 列5 = '×'
FROM 表A a
INNER JOIN 表B b ON b.列1 = a.列1 AND b.列2 = a.列2 AND b.列6 = '□'
WHERE a.列1 = '◎' AND a.列2 = '◎'
jamshid6さんありがとうございました。
お二方にやさしくアドバイスいただき感謝すると同時に、もっと自分で苦労して調べなくてはと実感しました。
今回は日限があったためじっくり調べる時間が取れず焦っておりました。←言い訳
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
オラクルのUPDATEで複数テーブル
Oracle
-
SQL、2つのテーブルで条件一致したものだけdeleteする方法は?
Oracle
-
SQL 複数テーブルのupdate
Oracle
-
-
4
【SQL】他テーブルに含まれる値に合致する行を抽出
その他(データベース)
-
5
update文で質問です。 下記の条件でupdateをしたいですが、どのようにしたら良いでしょうか。
Oracle
-
6
単一グループのグループ関数ではありません。
Oracle
-
7
他のテーブルを参照した値はupdateでsetできない?
Oracle
-
8
OracleのSQL*PLUSで、データが折り返されて見づらいのですが。。。
その他(データベース)
-
9
PL/SQL PLS-00103エラーについて
Oracle
-
10
Oracle複数の表をもとにmerge文を実行
Oracle
-
11
ORA-01858: 数値を指定する箇所に数値以外の文字が指定されています
Java
-
12
EXISTSを使ったDELETE文
SQL Server
-
13
カーソル0件の時にエラーを発生させる
Oracle
-
14
有無、要否、賛否、是非、可否、当否…これらの言葉について
その他(教育・科学・学問)
-
15
Oracle 2つのDate型の値の差を「分」で取得したい
その他(データベース)
-
16
PL/SQL で continue ?
Oracle
-
17
データを削除しても表領域の使用率が減りません
Oracle
-
18
Oracleで「文字が無効です」のエラーが出ます
Oracle
-
19
エラーを起こす方法
Oracle
-
20
sqlserverで集計結果をUPDATEしたいです
SQL Server
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
外部参照してるキーを主キーに...
-
列のヘッダーを含めるのをデフ...
-
SQLで列名を変数にできないでし...
-
Access:クエリーにて集計後に...
-
UPDATE文のWHERE条件に他のテー...
-
mysql+phpをつかったカートつく...
-
差し込み後、元データを変更し...
-
SQLで特定の項目の重複のみを排...
-
エクセルで最後の文字だけ置き...
-
for whichの使い方
-
Oracleのデータ型、NUMBERについて
-
SQLServerで文字列の末尾からあ...
-
1日に1人がこなせるプログラム...
-
エクセルに見えない文字(JISX0...
-
Access パラメータクエリをcsv...
-
フィルターかけた後、重複を除...
-
エクセルの関数について教えて...
-
SQL-LOADERの逆のもの
-
Excelシート上で右クリックがで...
-
カーソル0件の時にエラーを発生...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
外部参照してるキーを主キーに...
-
SELECT 文 GROUP での1件目を...
-
UPDATE文のWHERE条件に他のテー...
-
SQLで列名を変数にできないでし...
-
Access:クエリーにて集計後に...
-
列番号による項目の取得について
-
列のヘッダーを含めるのをデフ...
-
【VB.NET】日付型の列にNULLを...
-
複数列の最大値を求めたい
-
テーブル列数とデータファイル...
-
特定の列だけをGROUP BYしたい時
-
SQLによる"あいうえお"順でソー...
-
特定の文字列で列を区切るには?
-
v$processのPROGRAM列に関する質問
-
SQLite3 の UpdateCommand エラー
-
SQLです教えてくださいお願いし...
-
項目名に大文字と小文字の混在...
-
SQLのクエリ、又はプロシージャ...
-
DB2のSQL
-
エクセルのオートフィルタの列...
おすすめ情報