| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
高端软件开发 = 年薪十万不是梦赛孚耐:软件保护加密专家身份认证令牌USB KEY 
共有 655 人关注过本帖
标题:按类筛选并进行数据合并的问题
收藏  订阅  推荐  打印 
boyfuture
Rank: 4
等级:高级会员
帖子:523
积分:5620
注册:2005-12-20
按类筛选并进行数据合并的问题

各位大虾,辛苦了,祝新年快乐!
请教个问题:
我有这么一个表:
名称   规格   入库数量      出库数量
aa     2*3    11             2
bb     2*2     7              3
aa     2*3     2             3
然后我想通过sql进行查询,并形成一个合计:
名称  规格    库存量
aa    2*3    8
bb   2*2     4
。。。。。。
这样的sql语句怎么写啊?请指教,谢谢!
搜索更多相关主题的帖子: 数据合并  新年  筛选  sql  
2007-12-28 12:54
madpbpl
Rank: 6Rank: 6
等级:金牌会员
威望:6
帖子:2513
积分:27228
注册:2007-4-5

sql ="select 名称,规格,入库数量-出库数量 as 库存量 from [tablename] group by 名称,规格
2007-12-28 13:28
boyfuture
Rank: 4
等级:高级会员
帖子:523
积分:5620
注册:2005-12-20

原帖由 [bold][underline]madpbpl[/underline][/bold] 于 2007-12-28 13:28 发表 [url=http://bbs.bc-cn.net/redirect.php?goto=findpost&pid=1163541&ptid=194805][/url]
sql ="select 名称,规格,入库数量-出库数量 as 库存量 from  group by 名称,规格
老大,提示错误!
试图执行的查询中不包含作为合计函数一部分的特定表达式 'spsl-lysl' (也就是这里的 入库数量-出库数量),这是为什么呢?
请指教!谢谢!还有一个情况我想在这里说明:若干个相同名称和规格的产品其入库数量和出库数量,需要在最终的查询里面,只显示一行,而且这一行的库存量应该为这几个相同名称和规格的产品的入库数量之和与出库数量之和的差值,这样的sql该怎么实现?谢谢!

[[italic] 本帖最后由 boyfuture 于 2007-12-28 15:30 编辑 [/italic]]
2007-12-28 14:59
madpbpl
Rank: 6Rank: 6
等级:金牌会员
威望:6
帖子:2513
积分:27228
注册:2007-4-5

sql ="select 名称,规格,sum(入库数量)-sum(出库数量) as 库存量 from tb group by 名称,规格"
不好意思,刚才掉线了,现在改好了,测试通过
2007-12-28 15:41
boyfuture
Rank: 4
等级:高级会员
帖子:523
积分:5620
注册:2005-12-20

原帖由 [bold][underline]madpbpl[/underline][/bold] 于 2007-12-28 15:41 发表 [url=http://bbs.bc-cn.net/redirect.php?goto=findpost&pid=1163704&ptid=194805][/url]
sql ="select 名称,规格,sum(入库数量)-sum(出库数量) as 库存量 from tb group by 名称,规格"
不好意思,刚才掉线了,现在改好了,测试通过
这样出来的结果没有将相同名称规格的商品进行汇总啊?
我希望能够使若干个具有 相同名称和规格的同一商品,在通过汇总后,最后在形成的表里只显示一个名称和规格,而且库存量为若干个相同名称规格的商品的合计。
请继续指教,谢谢!
2007-12-28 16:19
不惑
Rank: 4
等级:高级会员
威望:1
帖子:562
积分:5966
注册:2007-3-22

楼上的就是你说的要求啊。
2007-12-28 16:47
boyfuture
Rank: 4
等级:高级会员
帖子:523
积分:5620
注册:2005-12-20

原帖由 [bold][underline]不惑[/underline][/bold] 于 2007-12-28 16:47 发表 [url=http://bbs.bc-cn.net/redirect.php?goto=findpost&pid=1163767&ptid=194805][/url]
楼上的就是你说的要求啊。
对不住啊,版主是对的,是我出错了,我的规格不一致,以至于没有进行合并,非常感谢楼主提醒。
顺便问一句,
我能否使用sql查询后,对于重复的商品名称和规格只显示其中的最新的一项,并在库存量上体现合计即库存量的结果?谢谢各位!
举例:
商品编号  商品名称  商品规格   经手人  记录日期  当前库存量
22          aa     2*3     李先生   2007-9-1   29 (合计)(表单中aa商品2*3规格的有很多条,我只显示其中的最近的一条并在最后统计其剩余库存量)
非常感谢各位的大力援助,谢谢!
2007-12-28 17:17
madpbpl
Rank: 6Rank: 6
等级:金牌会员
威望:6
帖子:2513
积分:27228
注册:2007-4-5

给个类似一楼的表和需求
2007-12-28 17:33
boyfuture
Rank: 4
等级:高级会员
帖子:523
积分:5620
注册:2005-12-20

编号  商品名称  商品规格  入库数量    出库数量   经手人员  记录日期
1      aa        2*3          11                   李白     2007-8-9
2      aa        2*3                     3         张三     2007-9-10
3      bb        2*1          22                   李三     2007-9-19
4      cc        2*3          12                    李四    2007-10-1
目标列表:
编号  商品名称  商品规格  库存总量   经手人员  记录日期
2      aa        2*3         8         张三     2007-9-10
3      bb        2*1          22                   李三     2007-9-19
4      cc        2*3          12                    李四    2007-10-1
基本上就是获得这样一个表,这样的sql该怎么写呢?谢谢!
2007-12-28 17:39
madpbpl
Rank: 6Rank: 6
等级:金牌会员
威望:6
帖子:2513
积分:27228
注册:2007-4-5

入库和出库为数字类型,应该默认为零吧?
如果我问的条件成立则如下写法
sql ="select 商品名称,max(商品规格) as 规格,sum(入库数量)-sum(出库数量) as 库存总量,max(经手人员) as 经办人,max(记录日期)as 日期 from tb group by 商品名称"
以上如满足我第一个条件时,测试通过
2007-12-28 18:10
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.053283 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved