
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
update文で質問です。 下記の条件でupdateをしたいですが、どのようにしたら良いでしょうか。
Oracle
-
7
SELECT INTOで一度に複数の変数へ代入をするにはどのようにすれがよいでしょうか?
PostgreSQL
-
8
EXISTSを使ったDELETE文
SQL Server
-
9
カーソル0件の時にエラーを発生させる
Oracle
-
10
Oracle 2つのDate型の値の差を「分」で取得したい
その他(データベース)
-
11
SQLで特定の項目の重複のみを排除した全項目を取得する方法
その他(プログラミング・Web制作)
-
12
ストアド実行時のエラー「参照しているコレクションは初期化されていません」
Oracle
-
13
OracleのSQL*PLUSで、データが折り返されて見づらいのですが。。。
その他(データベース)
-
14
PL/SQL で continue ?
Oracle
-
15
「指定されたキャストは有効ではありません。」とエラーが出てしまいます。
Microsoft ASP
-
16
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
17
SELECTで1件のみ取得するには?
Oracle
-
18
OracleのSQLで同テーブルのカラムをコピー
Oracle
-
19
NOT NULL制約がついた項目のUPDATEについて
Oracle
-
20
不明なコマンドです(FROM")。行の残りは無視されました。 のエラー"
Oracle
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
外部参照してるキーを主キーに...
-
SELECT 文 GROUP での1件目を...
-
列番号による項目の取得について
-
列のヘッダーを含めるのをデフ...
-
SQLで列名を変数にできないでし...
-
Access:クエリーにて集計後に...
-
UPDATE文のWHERE条件に他のテー...
-
【VB.NET】日付型の列にNULLを...
-
SQLです教えてくださいお願いし...
-
複数列の最大値を求めたい
-
特定の列だけをGROUP BYしたい時
-
SQLによる"あいうえお"順でソー...
-
v$processのPROGRAM列に関する質問
-
テーブル列数とデータファイル...
-
特定の文字列で列を区切るには?
-
bcp out の使い方
-
差し込み後、元データを変更し...
-
フィルターかけた後、重複を除...
-
Outlook 送受信エラー
-
エラー 1068 (42000): 複数の主...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
外部参照してるキーを主キーに...
-
SELECT 文 GROUP での1件目を...
-
UPDATE文のWHERE条件に他のテー...
-
SQLで列名を変数にできないでし...
-
列のヘッダーを含めるのをデフ...
-
列番号による項目の取得について
-
【VB.NET】日付型の列にNULLを...
-
Access:クエリーにて集計後に...
-
テーブル列数とデータファイル...
-
SQLによる"あいうえお"順でソー...
-
Accessでの全データから空白削除
-
特定の列だけをGROUP BYしたい時
-
項目名に大文字と小文字の混在...
-
特定の文字列で列を区切るには?
-
エクセルの列見出しが飛んでいます
-
Oracle8でテーブルの列名を変更...
-
複数列の最大値を求めたい
-
”+”の符号をつける方法
-
IDENTITY列の更新で失敗する
-
SELECT文で列名指定して桁あわ...
おすすめ情報