假设我有2个表t1和t2。
create table t1
{
id int not null,
col1 int null,
col2 int null,
col3 int null
}
create table t2
{
id uniqueidentifier not null,
col1 int null,
col2 int null,
col3 int null
}
我想将下面的结果集插入表t2。
select distinct col1, col2, col3 from t1
如何使用查询实现此目的?我在下面的语句中尝试过,但我知道它在语法上是错误的。
insert into t2
select newid(), distinct col1, col2, col3 from t1
答案 0 :(得分:16)
insert into t2
select newid(),a.*
from
(Select distinct col1, col2, col3 from t1) a
答案 1 :(得分:2)
如果自动生成,您可以省略uniqueidentifier
字段。
INSERT INTO t2 (col1, col2, col3)
SELECT DISTINCT col1, col2, col3 FROM t1
的更多信息
答案 2 :(得分:2)
这应该有效。
INSERT INTO t2
SELECT NEWID(), col1, col2, col3
FROM
(
SELECT DISTINCT col1, col2, col3
FROM t1
)DT