
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
ORA-01858: 数値を指定する箇所に数値以外の文字が指定されています
Java
-
10
Oracle複数の表をもとにmerge文を実行
Oracle
-
11
EXISTSを使ったDELETE文
SQL Server
-
12
カーソル0件の時にエラーを発生させる
Oracle
-
13
有無、要否、賛否、是非、可否、当否…これらの言葉について
その他(教育・科学・学問)
-
14
Oracle 2つのDate型の値の差を「分」で取得したい
その他(データベース)
-
15
PL/SQL で continue ?
Oracle
-
16
SELECT INTOで一度に複数の変数へ代入をするにはどのようにすれがよいでしょうか?
PostgreSQL
-
17
データを削除しても表領域の使用率が減りません
Oracle
-
18
Oracleで「文字が無効です」のエラーが出ます
Oracle
-
19
PL/SQL PLS-00103エラーについて
Oracle
-
20
エラーを起こす方法
Oracle
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
特定の文字列で列を区切るには?
-
SQLで列名を変数にできないでし...
-
差し込み後、元データを変更し...
-
for whichの使い方
-
ソフトバンクの無料着うたのお...
-
SQLで特定の項目の重複のみを排...
-
複数アドインプログラムをひと...
-
一度のsqlで値を取得するには
-
ある条件の最大値+1を初番する...
-
Outlook 送受信エラー
-
誰か教えてください
-
IDの欠番
-
UWSCでMOUSEORG関数が上手く処...
-
php+mysqlで複数選択削除について
-
この意味の違いを教えてくださ...
-
エクセルの関数について教えて...
-
Excel VBA ADODB
-
VMwareがCDドライブを認識する...
-
OSPFのDRの選出基準について シ...
-
プログラムの記法 インラインコ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
特定の文字列で列を区切るには?
-
外部参照してるキーを主キーに...
-
SELECT 文 GROUP での1件目を...
-
列のヘッダーを含めるのをデフ...
-
SQLで列名を変数にできないでし...
-
UPDATE文のWHERE条件に他のテー...
-
Access:クエリーにて集計後に...
-
【VB.NET】日付型の列にNULLを...
-
列番号による項目の取得について
-
SQLです教えてくださいお願いし...
-
Accessでの全データから空白削除
-
Accessのリストボックスについて
-
特定の列だけをGROUP BYしたい時
-
テーブル列数とデータファイル...
-
AccessのデータをExcelに抽出
-
v$processのPROGRAM列に関する質問
-
重複データの抽出方法(複数項目)
-
SQLite3 の UpdateCommand エラー
-
IDENTITY列の更新で失敗する
-
SQLで一時的に表示変更するには...
おすすめ情報