当前位置:主页>仓库管理软件> 列表

高分请教一下SQL语句 找国内erp软件

财务软件版1楼: 我想我从几个流水表里统计商品的往来情况,有“客户返修流水表”,“还客户流水表”,“送供应商流水表”和“供应商返还流水表”,此外还有个“商品资料表”,我这样写SQL语句,但有问题:
select 商品资料表.商品编号,商品资料表.品名,count(客户返修流水表.返修流水号) as 客户返修数量,count(还客户流水表.还货流水号) AS 还客户数量,count(送供应商流水表.送供流水号) AS 数供应商返修数量,count(供应商返还流水表.供还流水号) AS 供应商返还数量
from 商品资料表 left join 客户返修流水表 on 商品资料表.商品编号=客户返修流水表.商品编号.....用左连接这样查询,但结果出来时如前面的字段为0,那后面的所有字段都为0,比如如果"客户返修数量"如果统计为0,那不管理后面的"还客户数量","送供应商返修数量"等都为0,而且实际可能是别的结果,我改用inner join也一样不能得到正确的查询结果,请问大侠我应该如何写这句SQL?
先谢了~~

2楼: 你最好把表结构列一下,这样看很累的。 如国内erp软件

3楼: 先用两个表试试,再逐渐增加表个数,看看问题出在哪里。

4楼: SQL语句没问题,只是罗辑问题

5楼: 你在进行查询的时候应将主要的表格放在左查询位置。


这样就能保证索引不为空。(当然不知道设了索引了没?)
而且,最好有个WHERE子句

6楼: 问题整理一下,说的明白点

财务软件版7楼: 如果只是用左连接或者右连接我觉得不能解决问题,但我也不知道怎么写。我要实现的就是“从几个流水表里统计商品的往来情况,有“客户返修流水表”,“还客户流水表”,“送供应商流水表”和“供应商返还流水表”,此外还有个“商品资料表”,SQL语句我略了一些,但我觉得如果仔细看应该明白我的意思了

8楼: 再答一次:
建议你使用子查询的方法吧。
比如:你的这些流水表是针对商品资料表的吧。
1、先将商品资料表的一些必要信息写到一个临时表中,比如:客户返修数量, 还客户数量等等
2、然后将各个表进行汇总。这个总会吧。GROUP 一下就OK,同时将合计的值更新到相应的临时表字段中去
3、SELECT * FROM 你的临时表

9楼: 多人接受答案了。