8

たとえば、t1 と t2 という 2 つのテーブルがあるとします。

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
4

3 に答える 3

21
insert into t2
select newid(),a.*
from
(Select distinct col1, col2, col3 from t1) a
于 2013-01-09T13:20:36.463 に答える
2

uniqueidentifier自動生成される場合は、フィールドを省略できます。

INSERT INTO t2 (col1, col2, col3)
SELECT DISTINCT col1, col2, col3 FROM t1

詳細については、uniqueidentifierデータを使用してください

于 2013-01-09T13:21:21.780 に答える
2

これは機能するはずです。

INSERT INTO t2
SELECT NEWID(), col1, col2, col3 
FROM
(
    SELECT DISTINCT col1, col2, col3 
    FROM t1
)DT
于 2013-01-09T13:23:35.143 に答える