
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で質問しましょう!
似たような質問が見つかりました
- その他(データベース) 更新クエリをリンクデータベーステーブルに実行し実行時エラー3362固有インデックスに重複する値が含ま 1 2022/09/21 11:44
- SQL Server [SQLServer] テーブル名からカラム名を取得する 1 2022/08/23 21:20
- Visual Basic(VBA) VBAで、1つのエクセルで、2つのシートからもう1つのシートに条件のある転記コードを教えてください。 1 2023/03/16 18:07
- Access(アクセス) Accessのクエリの結果を、既存のエクセルに追加したい 2 2022/07/31 22:44
- Excel(エクセル) 【画像あり】A1が●+B1と同じ文字がB列にある+C1と同じ文字がC列にある場合D1に〇を付ける 3 2023/03/09 18:18
- Excel(エクセル) アウトラインの小計のやり方 1 2023/03/20 11:51
- Visual Basic(VBA) VBA シート間の転記で、条件の追加コードの書き方について教えて下さい。 13 2023/02/26 09:31
- SQL Server SQL Oracle serverにって質問です。 会社テーブルがあり、そのテーブルから 社員名、給 4 2022/05/21 12:22
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- Excel(エクセル) 列を自動で追加したい 3 2022/07/11 12:58
このQ&Aを見た人はこんなQ&Aも見ています
-
オラクルのUPDATEで複数テーブル
Oracle
-
SQL 複数テーブルのupdate
Oracle
-
SQL、2つのテーブルで条件一致したものだけdeleteする方法は?
Oracle
-
-
4
【SQL】他テーブルに含まれる値に合致する行を抽出
その他(データベース)
-
5
他のテーブルを参照した値はupdateでsetできない?
Oracle
-
6
SELECT INTOで一度に複数の変数へ代入をするにはどのようにすれがよいでしょうか?
PostgreSQL
-
7
EXISTSを使ったDELETE文
SQL Server
-
8
カーソル0件の時にエラーを発生させる
Oracle
-
9
SQLで特定の項目の重複のみを排除した全項目を取得する方法
その他(プログラミング・Web制作)
-
10
Oracle 2つのDate型の値の差を「分」で取得したい
その他(データベース)
-
11
不明なコマンドです(FROM")。行の残りは無視されました。 のエラー"
Oracle
-
12
OracleのSQL*PLUSで、データが折り返されて見づらいのですが。。。
その他(データベース)
-
13
特定のスキーマのテーブルを一括削除したい
その他(データベース)
-
14
NOT NULL制約がついた項目のUPDATEについて
Oracle
-
15
ストアド実行時のエラー「参照しているコレクションは初期化されていません」
Oracle
-
16
SI Object Browserのテーブルスクリプト出力のやり方
その他(データベース)
-
17
PL/SQL で continue ?
Oracle
-
18
「指定されたキャストは有効ではありません。」とエラーが出てしまいます。
Microsoft ASP
-
19
OracleのSQLで同テーブルのカラムをコピー
Oracle
-
20
ORA-01858: 数値を指定する箇所に数値以外の文字が指定されています
Java
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
外部参照してるキーを主キーに...
-
列番号による項目の取得について
-
SELECT 文 GROUP での1件目を...
-
【VB.NET】日付型の列にNULLを...
-
SELECT文で列名指定して桁あわ...
-
列のヘッダーを含めるのをデフ...
-
v$processのPROGRAM列に関する質問
-
Accessでの全データから空白削除
-
DISTINCTで選択した項目以外で...
-
特定の文字列で列を区切るには?
-
差し込み後、元データを変更し...
-
フィルターかけた後、重複を除...
-
for whichの使い方
-
エクセルで最後の文字だけ置き...
-
EXISTSを使ったDELETE文
-
エクセルの関数について教えて...
-
不連続サブネットとEIGRPについて
-
IDの欠番
-
SQLで特定の項目の重複のみを排...
-
Outlook 送受信エラー
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
SELECT 文 GROUP での1件目を...
-
外部参照してるキーを主キーに...
-
UPDATE文のWHERE条件に他のテー...
-
SQLで列名を変数にできないでし...
-
列番号による項目の取得について
-
列のヘッダーを含めるのをデフ...
-
【VB.NET】日付型の列にNULLを...
-
Access:クエリーにて集計後に...
-
テーブル列数とデータファイル...
-
特定の列だけをGROUP BYしたい時
-
特定の文字列で列を区切るには?
-
SQLによる"あいうえお"順でソー...
-
Accessのリストボックスについて
-
複数列の最大値を求めたい
-
項目名に大文字と小文字の混在...
-
IDENTITY列の更新で失敗する
-
Accessでの全データから空白削除
-
DB2のSQL
-
レプリケーション 列名を変更...
-
v$processのPROGRAM列に関する質問
おすすめ情報