CSVファイルのデータを意味のあるウェアハウステーブルに格納する3つのテーブルからデータを挿入しようとしていますが、構文が正しいかどうかわかりません。それはこのようなものに見えるよう複数のテーブルから挿入
insert into warehouseTBL
select a.recordNum, b.fieldA, b.fieldB, c.fieldC, c.fieldD,
from ctrTable a, tableB b, tableC c
where a.recordNum = b.recordNum
and a.recordNum = c.recordNum
and a.someField = b.someField
and a.someField = c.someField
は、だから私は、FROM句でネストされたSELECTを使用する必要があります。
from ctrTable a, (
select *
from tableB, tableC,
where tableB.recNum = tableC.recNum
) as d,
where a.recNum = d.recNum
を構文でも理にかなっていますか?
、行を挿入するには、このクエリを使用します。 – zerkms
構文はOKですが、1)insertテーブルのカラムを明示的に "insert into warehouseTBL(recordnum、fieldA、fieldB ...)"し、2)ANSIジョインをctrTableから選択して使用することが望ましいです – StuartLC
@zerkms:最初のステートメントはOracleエラーを生成しませんでしたが、warehouseTBLにユニークなインデックスを作成することはできません。私はOracleのタグを削除しました。なぜなら、これはSQLの構文上の問題だからです。 – MooCow