-1

我在从另一个表创建表时遇到问题。我正在使用查询:

CREATE TABLE new_table as ( SELECT Distinct * FROM old-table)

它给出了错误

Incorrect syntax near the keyword 'as'.
4

3 回答 3

1

SELECT Distinct * INTO new_table 
FROM old-table 
GROUP BY whatever you want to group by

编辑:您可以将行转换为具有可比性的 Varchar,或者您可以按您想要区分的列值进行分组。

于 2013-05-21T11:44:37.963 回答
0

任何一个

SELECT ROW_NUMBER() OVER (yourcolumn) as Row,  * 
INTO new_table 
FROM old-table 

DELETE FROM new_table where Row > 1

或者

SELECT ROW_NUMBER() OVER (yourcolumn) as Row,  * 
INTO new_table 
FROM old-table 
WHERE Row = 1

不能在 ntext 上区分。否则,首先使用 varchar 创建表并添加一个唯一索引,忽略重复项并在插入时强制转换。如果比您的列长,您可能会丢失数据,但请注意。

可以将 xml 转换为另一个表,然后根据需要进行过滤和操作,但前两个是我可能会推荐的。

于 2013-05-21T12:09:01.053 回答
0

你可以使用select ... into

select  distinct * 
into    new_table
from    old_table
于 2013-05-21T11:44:31.500 回答