我在从另一个表创建表时遇到问题。 我正在使用查询:
CREATE TABLE new_table as ( SELECT Distinct * FROM old-table)
给出错误
Incorrect syntax near the keyword 'as'.
答案 0 :(得分:1)
SELECT Distinct * INTO new_table
FROM old-table
GROUP BY whatever you want to group by
编辑:您可以将行转换为可比较的Varchar,或者您可以按要分隔的列值进行分组。
答案 1 :(得分:0)
您可以使用select ... into
:
select distinct *
into new_table
from old_table
答案 2 :(得分:0)
要么
SELECT ROW_NUMBER() OVER (yourcolumn) as Row, *
INTO new_table
FROM old-table
DELETE FROM new_table where Row > 1
OR
SELECT ROW_NUMBER() OVER (yourcolumn) as Row, *
INTO new_table
FROM old-table
WHERE Row = 1
无法通过ntext进行DISTINCT。否则,首先使用varchar创建表,然后在插入上添加一个带有ignore重复项并在其上强制转换的唯一索引。如果超过您的列,您可能会丢失数据,但请注意。
可以将xml转换为另一个表,然后根据需要进行过滤和操作,但前两个是我可能会推荐的。