
環境:oracle9i
select insertで、2つのテーブルから値を取得して、1つのテーブルにinsertすることは可能でしょうか?
たとえば、以下の場合、どのようなSQL文を書けばよいか、アドバイスいただけますでしょうか。
よろしくお願いします。
insertしたいテーブル:A
Aテーブルの項目:o,p,q,r,s,t
値を取得するテーブル:B,C
Bテーブルの項目:o,p,q,r
Cテーブルの項目:o,p,s,t
oとpが主キーになっていて、それらが一致するBとCのデータを
あわせて、Aにinsertしたいと思っています。
insert into A(o,p,q,r,s,t)
select
このあと、どのように書けばよいのかがわかりません。
No.2ベストアンサー
- 回答日時:
insert into A(o,p,q,r,s,t)
select B.o,B.p,B.q,B.r,C.s,C.t
from B,C
where B.o=C.o and B.p=C.p;
って感じかと。普通に問合せ文を書くだけですよ。
問合せ文自体は、内部結合だろうが外部結合だろうが何でもOK。
insert into の後ろにつけるselect文は、通常のselect文と同じと考えてよいのですね。
大変参考になりました。ありがとうございました。
No.1
- 回答日時:
趣味ですか、仕事ですか?仕事なら本を買えば一杯情報が載ってますよ。
insert into A(o,p,q,r,s,t)
のo,p,q,r,s,tはA,B,Cのどのテーブルの値を入れるのでしょうか?
それがわからないと書けませんけど。
この回答への補足
説明不足で大変失礼しました。
Aには、1件もレコードが入っておらず、BとCで主キーo,pが一致するものを合体させてAにinsertしたいと考えています。
項目o,pについては、テーブルBから取得。(主キーを一致させるのでCでもかまいません)
項目q,rについては、テーブルBから取得。
項目s,tについては、テーブルCから取得。
上記のように考えております。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
INSERT文でフィールドの1つだけを他のテーブルから取ってきた値を入れたい
その他(データベース)
-
結合テーブルでINSERTする方法について
SQL Server
-
SELECT INTOで一度に複数の変数へ代入をするにはどのようにすれがよいでしょうか?
PostgreSQL
-
-
4
【SQL】他テーブルに含まれる値に合致する行を抽出
その他(データベース)
-
5
GROUP BYを行った後に結合したい。
Oracle
-
6
Access2010 「演算子がありません」エラー
その他(データベース)
-
7
日付型のフィールドに空白を入れる方法を教えてください
その他(データベース)
-
8
オラクルのUPDATEで複数テーブル
Oracle
-
9
SQL、2つのテーブルで条件一致したものだけdeleteする方法は?
Oracle
-
10
IFで条件を分岐させてのINSERT(ストアド)。
SQL Server
-
11
SQLローダーCSV取込で、囲み文字がデータ中に入っている場合について
Oracle
-
12
レコードの登録順がおかしい
MySQL
-
13
2つのテーブルに共通するレコードを削除したい
Access(アクセス)
-
14
SQL*LoaderでCSVから指定した列のみインポートしたい。
Oracle
-
15
関係演算子が無効です。
Oracle
-
16
EXISTSを使ったDELETE文
SQL Server
-
17
データベースのINT型項目にNULLはNG?
MySQL
-
18
アクセス VBAについて FROM句の構文エラー
Access(アクセス)
-
19
フォーム上で押されたボタンによってサーブレットの処理を変えたい
Java
-
20
SQLで特定の項目の重複のみを排除した全項目を取得する方法
その他(プログラミング・Web制作)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
GROUP BYを行った後に結合した...
-
select句副問い合わせ 値の個...
-
select insertで複数テーブルか...
-
他のテーブルを参照した値はupd...
-
外部結合とor条件混在の記述方法
-
MERGE文を単体テーブルに対して...
-
V$SGAとV$PARAMETERの確認
-
集計後の数値が倍になる
-
SQL GROUPで件数の一番多いレコ...
-
SET句内で複数の条件を指定して...
-
SELECTの結果で同一行を複数回...
-
ADO VBA 実行時エラー3021
-
実績累計の求め方と意味を教え...
-
ヘッダレコードとトレーラレコ...
-
OracleのSQL*PLUSで、デー...
-
Oracleでの文字列連結サイズの上限
-
エラー2「無効な識別子です」
-
CREATE テーブルでの複数外部...
-
ACCESSで大量の更新を行うと「...
-
データセットのレコード更新が...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
GROUP BYを行った後に結合した...
-
select句副問い合わせ 値の個...
-
select insertで複数テーブルか...
-
外部結合とor条件混在の記述方法
-
MERGE文を単体テーブルに対して...
-
SQL GROUPで件数の一番多いレコ...
-
SELECTの結果で同一行を複数回...
-
oracleの分割delete
-
集計後の数値が倍になる
-
固定値を含む結合と複数テーブ...
-
SET句内で複数の条件を指定して...
-
unionでマージした副問合せを結合
-
COUNTの取得方法(?)について...
-
Access 2つのテーブルで数量...
-
他のテーブルを参照した値はupd...
-
SQLの書き方(チェックボックス)
-
SQLで複数の条件がある場合
-
複数テーブルのMAX値の行データ...
-
半角英数字混在データから数字...
-
結合と副問い合わせの違い
おすすめ情報