これで、挿入するテーブルにアクセスする必要があるwhere句を使用して、別のテーブルのテーブルに挿入する方法を理解する必要があります。私は挿入しているテーブルからエイリアスを試しましたが、私はすぐにそれを行うことができないことを知りました。基本的に、私がチェックしたいのは、テーブルに挿入している値が、挿入しているテーブル内の特定のフィールドと一致するということです。ここに私が試したことがあります:selectを挿入し、テーブルの値に応じてEDITEDに挿入
INSERT INTO "USER"."TABLE1" AS A1
SELECT *
FROM "USER"."TABLE2" AS A2
WHERE A2."HIERARCHYLEVEL" = 2
AND A2."PARENT" = A1."INSTANCE"
明らかに、これは役に立たなかったです。私はいくつかの他のクエリを試してみましたが、彼らは私もどこにでもいませんでした。どんな助けでも大歓迎です。
EDIT: テーブルに列を追加するのではなく、このテーブルに行を追加します。 2つのテーブルはまったく同じ構造をしています - 実際、table2から既にtable1にあるデータを抽出しました。私がtable1に持っているものは、現在のところ、PARENTを持たないレコードの束ですが、インスタンスです。私が追加したいのは、テーブル1のインスタンスと等しいテーブル2の親を持つすべてのレコードです。
は、なぜあなたはあなたが必要な行を検索するためにJOINを使用しないでください:
は別の方法として、私はあなたのものと同等であるあなたは、以下のソリューションを、提案することができますか? – danielsepulvedab
サブクエリには、ある種のリンク/結合と制限が必要です。サブクエリが独自の(トップレベルのクエリとして)機能しない場合は、最初にそれを修正します。 – vwegert
@danielsepulvedabお願いします...私は理解しているか分からない。 SELECT * FROM (TABLE1 INNER JOIN TABLE2 ON TABLE1.INSTANCE = TABLE2.PARENT)のようなことを言おうとしていますか? –