如何将这3个SQL查询转换为一个查询?
我是否可以将下面3个sql查询转换为一个查询如何将这3个SQL查询转换为一个查询?,sql,Sql,我是否可以将下面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 Fir
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'
编辑:
这取决于有多少种类型。也许另一个存储类型和相应文本的表(“Type”等)会比一个大箱子更好。同样的道理也适用于这个年龄。试试:
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')
试试
简洁的设计——到目前为止,这是发布答案中最好的答案。
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')
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')
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'))