次のいずれかを達成したいと考えています。
Select DISTINCT(tableA.column) INTO tableB.column FROM tableA
目標は、個別のデータ セットを選択し、そのデータを新しいテーブルの特定の列に挿入することです。
次のいずれかを達成したいと考えています。
Select DISTINCT(tableA.column) INTO tableB.column FROM tableA
目標は、個別のデータ セットを選択し、そのデータを新しいテーブルの特定の列に挿入することです。
SELECT column INTO tableB FROM tableA
SELECT INTO は、新しいレコードを挿入するときにテーブルを作成します。それが必要でない場合 (tableB が既に存在する場合)、次のようにする必要があります。
INSERT INTO tableB (
column
)
SELECT DISTINCT
column
FROM tableA
tableb に 1 つだけの列がある場合は、挿入先の列をリストする必要があることに注意してください (私の例で行ったように)。
あなたはほとんどそこにいます。
SELECT DISTINCT column INTO tableB FROM tableA
選択リストで指定されている列に挿入されるため、tableB
にない列に挿入する必要がある場合は、選択値をエイリアスする必要がありますtableA
。
次のことを試してください...
INSERT INTO tableB (column)
Select DISTINCT(tableA.column)
FROM tableA
目標は、個別のデータ セットを選択し、そのデータを新しいテーブルの特定の列に挿入することです。
tableB のスキーマが何であるかわかりません...テーブルBがすでに存在し、列に一意の制約がない場合、他の人がここで提案しているように実行できます....
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.