首页 > 数据库

SQL研究 - Pivot

时间:2009-06-09 14:11:44  作者:sadstory  我要投稿
Linux初探欢迎您的投稿,投放方法请点击这里查看,我们会定期赠送精美小礼品给优秀的投稿作者。海纳百川 取则行远!LinuxGoo欢迎您的到来。
在一个风和日丽的早上,老板从邮箱里发给你一个任务,希望你根据一个投资记录表做出一个统计。你匆匆跑到指定的数据库,发现结构如下的一张表:CREATE TABLE [dbo].[I......

select Investor,
case when District='Asia' then sum(Capital)
else 0
end as [Asia],
case when District='Europe' then sum(Capital)
else 0
end as [Europe]
from dbo.Investment
group by Investor,District

这样得不到最终结果,不过已经很接近了:

Investor Asia Europe

IBM 1000000 0
Microsoft 900000 0
Oracle 800000 0
IBM 0 150000
Microsoft 0 180000
Oracle 0 180000

接下来,我们只需要这样:

select Investor,sum(Asia),sum(Europe)

from #temp

group by Investor

虽然最终得到结果,不过比起Pivot,还是要麻烦很多。

如果您需转载 SQL研究 - Pivot,请注明来自LinuxGoo.com,其版权归原作者所有。请广大网友留言时遵纪守法,使用文明用语。如果您在应用中有什么问题,请在下面留言,我们会尽快解答。
来顶一下
近回首页
返回首页
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
相关文章
栏目热门