关于 管家婆erp 报表问题

skyzero110 2010-03-29 07:47:12
现在有张表数据是这样的
==================源表======================
v1 v2 v3 v_sum
芯料类 制芯辅料 石英沙 2
芯料类 制芯辅料 石英沙 4
芯料类 制芯辅料 木积土 5
芯料类 制芯辅料 木积土 2
芯料类 制芯原料 鹅蛋石 1
芯料类 制芯原料 鹅蛋石 1


现在要插入列合计
===================结果表====================
芯料类 制芯辅料 石英沙
芯料类 制芯辅料 石英沙
合计(石英沙) 6
芯料类 制芯辅料 木积土
芯料类 制芯辅料 木积土
合计(木积土) 7
合计(辅料) 13
芯料类 制芯原料 鹅蛋石
芯料类 制芯原料 鹅蛋石
合计(鹅蛋石) 2
合计(原料) 2
合计(芯料) 15



==========================================
现在没有一点思路... 不知道插入的位置... 请教高手. 在线等~~~
...全文
208 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
skyzero110 2010-03-30
  • 打赏
  • 举报
回复
我想问下我group by数据是这样的

白杆I 101-2B一头坏
白杆I 101--2H副牌
白杆I 101-4B7.2六角副牌
白杆I 101--4B副牌
白杆I 101--4H副牌

但是with rollup后变成了

白杆I 101-2B一头坏
白杆I 101-2B一头坏 NULL
白杆I 101-2B一头坏 NULL NULL
白杆I 101-2B一头坏 NULL NULL NULL
白杆I 101-2B一头坏 NULL NULL NULL NULL
白杆I 101--2H副牌
白杆I 101--2H副牌 NULL
白杆I 101--2H副牌 NULL NULL
白杆I 101--2H副牌 NULL NULL NULL
白杆I 101--2H副牌 NULL NULL NULL NULL
skyzero110 2010-03-30
  • 打赏
  • 举报
回复
其实我有六列.. v1 v2 v3 v4 v5 v6
skyzero110 2010-03-30
  • 打赏
  • 举报
回复
额. 又出现个问题.. 我select表是2484条记录 group by的时候是1561条数据
但加个with rollup就7264行了.. 这样算求和不行啊..有重复数据
htl258_Tony 2010-03-29
  • 打赏
  • 举报
回复
DECLARE @t TABLE(Groups char(2),Item varchar(10),Color varchar(10),Quantity int)
INSERT @t SELECT 'aa','Table','Blue', 124
UNION ALL SELECT 'bb','Table','Red', -23
UNION ALL SELECT 'bb','Cup' ,'Green',-23
UNION ALL SELECT 'aa','Chair','Blue', 101
UNION ALL SELECT 'aa','Chair','Red', -90

--汇总显示
SELECT Groups=CASE
WHEN GROUPING(Color)=0 THEN Groups
WHEN GROUPING(Groups)=1 THEN '总计'
ELSE '' END,
Item=CASE
WHEN GROUPING(Color)=0 THEN Item
WHEN GROUPING(Item)=1 AND GROUPING(Groups)=0 THEN Groups+' 合计'
ELSE '' END,
Color=CASE
WHEN GROUPING(Color)=0 THEN Color
WHEN GROUPING(Color)=1 AND GROUPING(Item)=0 THEN Item+' 小计'
ELSE '' END,
Quantity=SUM(Quantity)
FROM @t
GROUP BY Groups,Item,Color WITH ROLLUP
/*--结果
Groups Item Color Quantity
-------- ---------------- ---------------------- -----------
aa Chair Blue 101
aa Chair Red -90
Chair 小计 11
aa Table Blue 124
Table 小计 124
aa 合计 135
bb Cup Green -23
Cup 小计 -23
bb Table Red -23
Table 小计 -23
bb 合计 -46
总计 89
--*/

--------------------------


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/htl258/archive/2009/03/22/4014856.aspx
--小F-- 2010-03-29
  • 打赏
  • 举报
回复
去看看 grouping的用法 是用
grouping(col)=0或者1来控制的
skyzero110 2010-03-29
  • 打赏
  • 举报
回复
能不能把小计前面的列 都不显示?
-狙击手- 2010-03-29
  • 打赏
  • 举报
回复
小F你知道的太多了
todayec 2010-03-29
  • 打赏
  • 举报
回复
不错。厉害
东那个升 2010-03-29
  • 打赏
  • 举报
回复
如果是报表应该有计算合计的功能的。。。。
skyzero110 2010-03-29
  • 打赏
  • 举报
回复
嗯. 谢谢. 我先看下. ~
--小F-- 2010-03-29
  • 打赏
  • 举报
回复
都是些grouping和isnull控制的
bancxc 2010-03-29
  • 打赏
  • 举报
回复
upupup
--小F-- 2010-03-29
  • 打赏
  • 举报
回复
create table #t(a int,b int,c int,d int,e int) 
insert into #t values(1,2,3,4,5)
insert into #t values(1,2,3,4,6)
insert into #t values(1,2,3,4,7)
insert into #t values(1,2,3,4,8)
insert into #t values(1,3,3,4,5)
insert into #t values(1,3,3,4,6)
insert into #t values(1,3,3,4,8)
insert into #t values(1,3,3,4,7)

insert into #t values(2,2,2,4,5)
insert into #t values(2,2,3,4,6)
insert into #t values(2,2,4,4,7)
insert into #t values(2,2,5,4,8)
insert into #t values(2,3,6,4,5)
insert into #t values(2,3,3,4,6)
insert into #t values(2,3,3,4,8)
insert into #t values(2,3,3,4,7)

select
case when grouping(a)=1 then '合计' else cast(a as varchar) end a, b, sum(c) as c,sum(d) as d,sum(e) as e
from
#t
group by
a,b
with rollup
having grouping(b)=0 or grouping(a)=1

select
case when grouping(a)=1 then '合计' else cast(a as varchar) end a, b, c, sum(d) as d,sum(e) as e
from
#t
group by
a,b,c
with rollup
having grouping(c)=0 or grouping(a)=1

select
case when grouping(a)=1 then '合计' else cast(a as varchar) end a, b,
case when grouping(c)=1 and grouping(b)=0 then '小计' else cast(c as varchar) end c,
sum(d) as d,sum(e) as e
from
#t
group by
a,b,c
with rollup
having grouping(a)=1 or grouping(b)=0

select
case when grouping(a)=1 then '合计' else cast(a as varchar) end a,
case when grouping(b)=1 and grouping(a)=0 then '小计' else cast(b as varchar) end b, sum(c) as c, sum(d) as d,sum(e) as e from #t
group by
a,b,c
with rollup
having grouping(a)=1 or grouping(b)=1 or grouping(c)=0

drop table #t

/*a b c d e
------------------------------ ----------- ----------- ----------- -----------
1 2 12 16 26
1 3 12 16 26
2 2 14 16 26
2 3 15 16 26
合计 NULL 53 64 104

(所影响的行数为 5 行)

a b c d e
------------------------------ ----------- ----------- ----------- -----------
1 2 3 16 26
1 3 3 16 26
2 2 2 4 5
2 2 3 4 6
2 2 4 4 7
2 2 5 4 8
2 3 3 12 21
2 3 6 4 5
合计 NULL NULL 64 104

(所影响的行数为 9 行)

a b c d e
------------------------------ ----------- ------------------------------ ----------- -----------
1 2 3 16 26
1 2 小计 16 26
1 3 3 16 26
1 3 小计 16 26
2 2 2 4 5
2 2 3 4 6
2 2 4 4 7
2 2 5 4 8
2 2 小计 16 26
2 3 3 12 21
2 3 6 4 5
2 3 小计 16 26
合计 NULL NULL 64 104

(所影响的行数为 13 行)

a b c d e
------------------------------ ------------------------------ ----------- ----------- -----------
1 2 12 16 26
1 3 12 16 26
1 小计 24 32 52
2 2 2 4 5
2 2 3 4 6
2 2 4 4 7
2 2 5 4 8
2 3 9 12 21
2 3 6 4 5
2 小计 29 32 52
合计 NULL 53 64 104

(所影响的行数为 11 行)

*/
最新版.管家婆分销ERP系列是一套针对具有一定规模的企业应用的信息化管理整体解决方案,集进销存、财务、分销、OA管理一体化,致力于帮助企业建立起一个简捷、高效的实时运营管理平台,实现物流、资金流、信息流的在线动态监控和管理,实现信息的全面把控、传递和电脑全程记录,为企业决策提供数据。 管家婆分销ERP系列采用B/S结构,应用Internet,企业总部与各分支机构,甚至供应商和代理商在同一平台上协同办公,实现对异地分支机构销售、库存、费用、办公等信息的全方位实时掌控。 产品特点 实施快捷 维护方便 完全互联网应用,只需要服务器进行安装和设置,客户端无需装软件,不需要很强的 IT实施能力,7-30天即可完成实施 分支机构独立核算(仅限V3) 实现分支机构(按分公司、产品线、事业部等划分)财务、业务状况的独立核算和汇 总分析 强大的分析能力 多方面多维度的报表分析,各项数据及时、准确、清晰、全方位支持企业科学决策 集成行业特性 完备的序列号管理、强大的维修管理,灵活多样的会员管理,严格的审批流程管理, 实用的价格保护功能 领先技术 安全可靠 依托SQL Server2008 R2数据库,采用先进的MemoryCacheD和Microsoft Silverlight技术开发,技术领先。支持安全钥匙、客户端电脑IP、MAC地址、硬盘序列号绑定 应用价值 完善的物流处理能力和全方位的业务流程控制,极大地提高了企业的运作效率 帮助企业实现从传统企业的事后管理转变为有效的动态监控机制 随时确认并监控各区域市场价格体系,最大限度地减少价格混乱和窜货现象 动态地调拨各地分仓的物流速度和频度,最大限度地减少库存积压,甚至减少库损 实时掌控各地分公司的财务流,有效地控制费用的不良支出 有效地掌控分布在各地的天马行空般的销售人员的工作情况 让所有与企业相关的分公司、办事处、门店、分仓库、经销商等广泛地参与进来,真正实现"分布应用、集中处理"

22,210

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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