如何将这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

我是否可以将下面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'
编辑:

这取决于有多少种类型。也许另一个存储类型和相应文本的表(“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'))