无论如何,我可以将以下3个sql查询转换为单个查询吗?
insert into table1(Name,Age,Type) Select FirstName,Age,'Type1' FROM Table2 where Type='SK'
insert into table1(Name,Age,Type) Select FirstName,Age,'Type23' FROM Table2 where Type='JK'
insert into table1(Name,Age,Type) Select FirstName,45,'Type64' FROM Table2 where Type='YP'
答案 0 :(得分:10)
insert into table1(Name,Age,Type)
Select FirstName,Age,'Type1' FROM Table2 where Type='SK'
union all
Select FirstName,Age,'Type23' FROM Table2 where Type='JK'
union all
Select FirstName,45,'Type64' FROM Table2 where Type='YP'
答案 1 :(得分:6)
insert into table1(Name,Age,Type)
Select FirstName,
CASE WHEN Type = 'YP' THEN 45 ELSE Age END,
CASE WHEN Type = 'SK' THEN 'Type1' etc.
FROM Table2
where Type in ('SK', 'JK', 'YP')
编辑:
这取决于有多少种类型。也许另一个存储类型和相关文本(“类型”等)的表会更好而不是一个大案例。这个时代也是如此。
答案 2 :(得分:1)
尝试:
Insert table1(Name,Age,Type)
Select FirstName,
Case Type When 'YP' Then 45 Else Age End,
'Type' + Case Type
When 'SK' Then '1'
When 'JK' Then '23'
When 'YP' Then '64' End
From Table2
Where Type In ('SK', 'JK', 'YP')
答案 3 :(得分:0)
尝试..
insert into table1(Name,Age,Type)
(Select FirstName,
(case when type='YP' then
45
else
age
end) age,
(case when type='SK' then
'Type1'
when type='JK' then
'Type23'
when type='YP' then
'Type64'
end) type
FROM Table2 where Type in ('SK','JK','YP'))