Sql行转列问题

Liao831026 2009-04-10 05:20:46
tb_A:
col1 col2
a 100
aa 300

得到结果
tb_B
a aa
100 200

...全文
66 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
you_tube 2009-04-10
  • 打赏
  • 举报
回复
http://topic.csdn.net/u/20080614/17/22e73f33-f071-46dc-b9bf-321204b1656f.html
yygyogfny 2009-04-10
  • 打赏
  • 举报
回复
又是行列转换
百年树人 2009-04-10
  • 打赏
  • 举报
回复
---测试数据---
if object_id('[tb_A]') is not null drop table [tb_A]
go
create table [tb_A]([col1] varchar(2),[col2] int)
insert [tb_A]
select 'a',100 union all
select 'aa',300

---查询---
select
max(case col1 when 'a' then col2 end) as a,
max(case col1 when 'aa' then col2 end) as aa
from tb_A


---结果---
a aa
----------- -----------
100 300
-晴天 2009-04-10
  • 打赏
  • 举报
回复
create table tb_A(col1 varchar(10),col2 int)
insert into tb_A select 'a',100 union all select 'aa',300
select top 1 (select col2 from tb_A where col1='a') as a,(select col2 from tb_A where col1='aa') as aa from tb_A
drop table tb_A
百年树人 2009-04-10
  • 打赏
  • 举报
回复
select 
max(case col1 when 'a' then col2 end) as a,
max(case col1 when 'aa' then col2 end) as aa
from tb_A
jinjazz 2009-04-10
  • 打赏
  • 举报
回复
咋就变成了200?

反正都是case when,这个板块相关问题和答案不下1000个了

34,593

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧