首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将these3 SQL查询转换为一个查询?

如何将these3 SQL查询转换为一个查询?
EN

Stack Overflow用户
提问于 2010-08-19 21:17:42
回答 4查看 142关注 0票数 2

有没有什么办法可以把下面3个sql查询转换成一个查询?

代码语言:javascript
复制
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'
EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-08-19 21:19:17

代码语言:javascript
复制
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'
票数 10
EN

Stack Overflow用户

发布于 2010-08-19 21:20:45

代码语言:javascript
复制
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')

编辑:

这取决于这里有多少种类型。也许是另一个存储类型和相应文本('Type‘等)的表。总比一个大案子要好。年龄也是一样的。

票数 6
EN

Stack Overflow用户

发布于 2010-08-19 21:26:20

尝试:

代码语言:javascript
复制
   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') 
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3522157

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档