質問

私は、次の何かを達成したい:

Select DISTINCT(tableA.column) INTO tableB.column FROM tableA

目標は、個別のデータセットを選択して、新しいテーブルの特定の列にそのデータを挿入することです。

役に立ちましたか?

解決

あなたはかなりあります。

SELECT DISTINCT column INTO tableB FROM tableA

あなたがtableBにないtableAの列に挿入する必要がある場合は、あなたの選択値をエイリアスする必要がありますので、選択リストに指定されているものは何でもコラム(複数可)に挿入することが起こってます。

のINTO SELECT

他のヒント

SELECT column INTO tableB FROM tableA
それはそれに新しいレコードを挿入すると、

SELECT INTOはテーブルを作成します。それは(TABLEBがすでに存在する場合)あなたが望むものではない場合、あなたはこのような何かを行う必要があります:

INSERT INTO tableB (
column
)
SELECT DISTINCT
column
FROM tableA

TableBのはそれだけで1以上の列を持っている場合、あなたは(私は私の例で行ったように)あなたがに挿入される列の一覧を表示する必要があることを覚えておいてください。

以下を試してみてください...

INSERT INTO tableB (column)
Select DISTINCT(tableA.column)
FROM tableA
目標は、個別のデータセットを選択して、新しいテーブルの特定の列にそのデータを挿入することです。

この....テーブルBがすでに存在する場合、私は... TABLEBのスキーマが何であるかを知らないと、他のいずれかが、ここで提案として、あなたが行うことができます列に一意の制約はありません INSERT INTO tableB (column)Select DISTINCT(tableA.column)FROM tableAます。

あなたは、テーブルBにユニーク制約を持っており、それがすでに存在する場合がありますが、テーブルBに、既にそれらの値を除外する必要があります...

この INSERT INTO tableB (column)
Select DISTINCT(tableA.column)
FROM tableA
WHERE tableA.column NOT IN (SELECT /* NOTE */ tableB.column FROM tableB)
-- NOTE: Remember if there is a unique constraint you don't need the more
-- costly form of a "SELECT DISTICT" in this subquery against tableB
-- This could be done in a number of different ways - this is just
-- one version. Best version will depend on size of data in each table,
-- indexes available, etc. Always prototype different ways and measure perf.
ます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top