关于行列转换,求助...

yczyk 2005-05-08 05:48:11
现有记录表:

日期 摘要 类别 金额
2005-03-01 a 1 200
2005-03-02 aaa 2 100
2005-04-01 aaa 1 150
2005-04-02 aaa 3 450
2005-04-02 aaa 2 750

类别表:
ID 名称
1 类别1
2 类别2
3 类别3
==============================================

现希望得到的结果集为:
月 日 摘要 类别1 类别2 类别3 合计
3 1 a 200 0 0 200
3 2 aaa 0 100 0 300
本月累计 200 100 0 500
4 1 aaa 150 0 0 650
4 2 aaa 0 450 1100
4 2 aaa 0 750 0 1850
本月累计 350 850 450 1850

====================================================================
类别要是动态增加的,其中行列转换已完成,只差分类汇总了
...全文
131 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
hc0007 2005-05-11
  • 打赏
  • 举报
回复
用1张临时表来添加汇总
wood_ke 2005-05-09
  • 打赏
  • 举报
回复
要是数据库是oracle呢??该怎么写这个:
SELECT type, price, advance
FROM titles
WHERE type LIKE '%cook'
ORDER BY type
COMPUTE SUM(price), SUM(advance) BY type
pangxie 2005-05-08
  • 打赏
  • 举报
回复
你用的是SQL Server2000么?在它的联机帮助中具体连接如下,可以找到具体实现方法。主意路径
mk:@MSITStore:C:\Program%20Files\Microsoft%20SQL%20Server\80\Tools\Books\tsqlref.chm::/ts_setu-sus_414d.htm

//截取篇幅如下
SELECT type, price, advance
FROM titles
WHERE type LIKE '%cook'
ORDER BY type
COMPUTE SUM(price), SUM(advance) BY type

下面是结果集:

type price advance
------------ -------------------------- --------------------------
mod_cook 19.99 0.00
mod_cook 2.99 15,000.00

sum
==========================
22.98
sum
==========================
15,000.00

type price advance
------------ -------------------------- --------------------------
trad_cook 20.95 7,000.00
trad_cook 11.95 4,000.00
trad_cook 14.99 8,000.00

sum
==========================
47.89
sum
==========================
19,000.00


yczyk 2005-05-08
  • 打赏
  • 举报
回复
求详细语句...
myshushu005 2005-05-08
  • 打赏
  • 举报
回复
case 语句应该能实现吧
yczyk 2005-05-08
  • 打赏
  • 举报
回复
自已占个一楼,偶用的是SQLServer2000

2,498

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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