我要完成以下的东西:

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

在目标将是选择一个不同的数据集,然后该数据插入到一个新的表的特定列。

有帮助吗?

解决方案

您是非常有。

SELECT DISTINCT column INTO tableB FROM tableA

这将插入到任何列(S)在选择列表中指定,所以你会需要你的别名选择值,如果你需要插入不在tableB tableA列。

SELECT INTO

其他提示

SELECT column INTO tableB FROM tableA

选择,因为它插入新的记录到它INTO将创建一个表。如果这不是你想要的(如果tableB的已经存在),那么你需要做这样的事情:

INSERT INTO tableB (
column
)
SELECT DISTINCT
column
FROM tableA

请记住,如果表B有只有一个,你需要列出你会被插入到(就像我在我的例子做了)的列多列。

尝试使用以下...

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.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top