求sql语句 ( 积分: 100 )

  • 主题发起人 主题发起人 jshykj00
  • 开始时间 开始时间
J

jshykj00

Unregistered / Unconfirmed
GUEST, unregistred user!
select&nbsp;*&nbsp;from&nbsp;Table1<br>部门ID&nbsp;等级&nbsp;数量<br>1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;A&nbsp;&nbsp;&nbsp;&nbsp;1<br>1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;D&nbsp;&nbsp;&nbsp;&nbsp;1<br>2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;D&nbsp;&nbsp;&nbsp;&nbsp;1<br>3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;B&nbsp;&nbsp;&nbsp;&nbsp;2<br><br>我想要这种表格式<br>部门ID&nbsp;A&nbsp;&nbsp;&nbsp;B&nbsp;&nbsp;&nbsp;C&nbsp;&nbsp;&nbsp;D<br>1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;1<br>2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;1<br>3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;0&nbsp;&nbsp;&nbsp;0<br><br>不知表达情楚没有,谢谢
 
select&nbsp;部门ID,&nbsp;(select&nbsp;数量&nbsp;from&nbsp;table1&nbsp;where&nbsp;部门ID&nbsp;=&nbsp;部门ID&nbsp;and&nbsp;等级&nbsp;=&nbsp;'A')&nbsp;as&nbsp;A,&nbsp;<br>(select&nbsp;数量&nbsp;from&nbsp;table1&nbsp;where&nbsp;部门ID&nbsp;=&nbsp;部门ID&nbsp;and&nbsp;等级&nbsp;=&nbsp;'B')&nbsp;as&nbsp;B,&nbsp;<br>(select&nbsp;数量&nbsp;from&nbsp;table1&nbsp;where&nbsp;部门ID&nbsp;=&nbsp;部门ID&nbsp;and&nbsp;等级&nbsp;=&nbsp;'C')&nbsp;as&nbsp;C,&nbsp;<br>(select&nbsp;数量&nbsp;from&nbsp;table1&nbsp;where&nbsp;部门ID&nbsp;=&nbsp;部门ID&nbsp;and&nbsp;等级&nbsp;=&nbsp;'D')&nbsp;as&nbsp;D&nbsp;<br><br>from&nbsp;Table1<br>我猜肯定不行,新手ing...
 
很久没有做这种题了,给你做做<br>select&nbsp;部门ID,sum(AA)&nbsp;A,sum(BB)&nbsp;B,sum(CC)&nbsp;C,sum(DD)&nbsp;D&nbsp;from&nbsp;(<br>select&nbsp;部门ID,case&nbsp;when&nbsp;等级='A'&nbsp;then&nbsp;数量&nbsp;else&nbsp;0&nbsp;end&nbsp;as&nbsp;AA,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;when&nbsp;等级='B'&nbsp;then&nbsp;数量&nbsp;else&nbsp;0&nbsp;end&nbsp;as&nbsp;BB,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;when&nbsp;等级='C'&nbsp;then&nbsp;数量&nbsp;else&nbsp;0&nbsp;end&nbsp;as&nbsp;CC,<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;case&nbsp;when&nbsp;等级='D'&nbsp;then&nbsp;数量&nbsp;else&nbsp;0&nbsp;end&nbsp;as&nbsp;DD&nbsp;<br>from&nbsp;Table1&nbsp;&nbsp;)&nbsp;&nbsp;t<br>group&nbsp;by&nbsp;部门ID<br>应该没什么错的。
 
同意楼上的!
 
其实就是&nbsp;多条记录合并为一条记录&nbsp;因为&nbsp;等级是固定的&nbsp;也不需要用游标.谢谢
 

Similar threads

A
回复
0
查看
659
Andreas Hausladen
A
A
回复
0
查看
749
Andreas Hausladen
A
A
回复
0
查看
945
Andreas Hausladen
A
A
回复
0
查看
822
Andreas Hausladen
A
后退
顶部