我想完成以下事情:
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 有更多的列,那么您将需要列出您将插入的列(就像我在示例中所做的那样)。
你几乎在那里。
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.