如何将这3个SQL查询转换为一个?

Shy*_*yju 2 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 FirstName,45,'Type64' FROM Table2 where Type='YP'
Run Code Online (Sandbox Code Playgroud)

gar*_*rik 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'
Run Code Online (Sandbox Code Playgroud)

  • 设计简单 - 到目前为止,已发布答案的最佳答案. (2认同)

Yve*_* M. 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')
Run Code Online (Sandbox Code Playgroud)

编辑:

这取决于有多少种类型.也许另一个存储类型和相关文本("类型"等)的表会更好而不是一个大案例.对于这个时代来说也是如此.