0
基本的に私はこの状況にあります:SQLを使用して特別な条件が満たされたときに2行を挿入するにはどうすればよいですか?
テーブルの各行について、1つの列の値を新しいテーブルに挿入する必要があります。
それは単純なクエリです:
SELECT val
INTO NEW_TABLE
FROM SOURCE_TABLE;
はしかし、私は問題を抱えています。特定のシナリオでは、私は同じエントリの2つの行を挿入したいと思います。
SELECT 'val'
INTO NEW_TABLE
FROM SOURCE_TABLE WHERE NOT SPECIAL_CONDITION;
SELECT 'special_val1'
INTO NEW_TABLE
FROM SOURCE_TABLE WHERE SPECIAL_CONDITION;
SELECT 'special_val2'
INTO NEW_TABLE
FROM SOURCE_TABLE WHERE SPECIAL_CONDITION;
をしかし、単一のものを使用してこれを行うにはどのような方法があります:
私はそれは、次の3つのクエリを使用して達成することができますか?
は、私は(私はそれをテストしていないので、動作しない場合があります)このような何かを考えた:
INSERT INTO NEW_TABLE
(
(SELECT 'val' FROM SOURCE_TABLE WHERE NOT CONDITION)
UNION
(SELECT 'val1' FROM SOURCE_TABLE WHERE CONDITION)
UNION
(SELECT 'val2' FROM SOURCE_TABLE WHERE CONDITION)
)
しかし、それはより効率的になってしまう場合は、エンド饒舌でOKです。 これは、単一のクエリでこれを行うより効率的な方法はありますか?
。 。あなたは本当に "psql"タグを意図していますか? –