日期:2014-05-17  浏览次数:20524 次

请教 SQL语句写法
请教大侠,以下SQL语句该如何正确写法?

SELECT A.商品编号,A.商品名称,A.商品货号,A.数量,SUM(C.数量) AS 进货量,SUM(D.减少) AS 销售数量,B.供货商
FROM 库存 A,进货 B,进货 C,汇总单 D
WHERE B.商品编号=A.商品编号 AND C.商品编号=A.商品编号 AND D.商品编号=A.商品编号



------解决方案--------------------
没写按什么分组   group by
------解决方案--------------------
聚合函数之外的都要group by
------解决方案--------------------
SELECT A.商品编号,Max(A.商品名称) as 商品名称,Max(A.商品货号) as 商品货号,Max(A.数量) as数量 ,
SUM(B.数量) AS 进货量,SUM(C.减少) AS 销售数量,B.供货商
FROM 库存 A
Join  进货 B ON B.商品编号=A.商品编号
Join 汇总单 C On  B.商品编号=C.商品编号
Group By  A.商品编号 ,B.供货商
------解决方案--------------------
引用:
 你把这个商品编号在这三个表中的数据给我看看。。估计是有些表有多数据重复导致。

------解决方案--------------------
引用:
没有重复数据的


SELECT A.商品编号,A.商品名称 as 商品名称,A.商品货号 as 商品货号,A.数量 as 库存数量 ,
B. 进货量 AS 进货量,C.销售数量 AS 销售数量,B.供货商
FROM 库存 A
Join  (select 商品编号,sum(数量) as 进货量,供货商 from  进货  group by 商品编号,供货商)  B ON B.商品编号=A.商品编号
Join  (select 商品编号 SUM(减少) AS 销售数量 from  汇总单 group by 商品编号)  C On  B.商品编号=C.商品编号

看看这样如何,语法如果有错的话你自己纠正下。。。