难一点的SQL语句两表操做,哪位高人帮小弟改一下,谢谢。(给点意见)(200)

  • 主题发起人 主题发起人 walimg
  • 开始时间 开始时间
W

walimg

Unregistered / Unconfirmed
GUEST, unregistred user!
系统有两表:进货表Table1 和销售表:Table2进货表Table1 表有已下记录 商品编码,商品名称,数量,商品类型 //数量是进货数量 01 可乐 100 饮料 //进货记录有多条同样商品的记录 02 大米 200 食物 03 糖果 90 零食 //糖果从没卖出去过 01 可乐 100 饮料 02 大米 150 食物销售表:Table2 表有已下记录 商品编码,商品名称,数量,商品类型 //数量是销售数量 01 可乐 10 饮料 //销售记录有多条同样的记录 02 大米 30 食物 01 可乐 20 饮料 02 大米 50 食物 // 糖果至今没有卖过,所以没有记录-------------要得出的结果如下--------------------------商品编码,商品名称,进货总数量,卖出总数量,现有库存,商品类型 01 可乐 200 30 170 饮料 02 大米 350 80 270 食物 03 糖果 90 0 90 零食//----进货表只有三种商品,所以只显示三条记录。---------请高手帮我看看我这条SQL语句,哪里错了。谢谢了。-------select a.商品编码,a.商品名称,a.sum(数量) as 进货总数量,b.sum(数量) as 卖出总数量,(a.sum(数量)-b.sum(数量)) as 现有库存,a.商品类型 from Table1 a, Table2 b where a.商品编码=b.商品编码 group by a.商品编码,a.商品名称,a.进货总数量,b.卖出总数量,现有库存,a.商品类型 order by 商品类型
 
group by 商品编码,商品名称
 
按SMLABC的..應該可以吧.~~
 
select a.商品编码,a.商品名称,sum(a.数量) as 进货总数量,sum(b.数量) as 卖出总数量,SUM(a.数量-b.数量) as 现有库存,a.商品类型 from Table1 a, Table2 b where a.商品编码=b.商品编码 group by a.商品编码,a.商品名称,a.商品类型 order by 商品类型這樣試下~
 
SELECT a.*, isnull(b.出货总数量,0) AS 出货总数量, (a.进货总数量-isnull(b.出货总数量,0)) AS 现有库存FROM (SELECT 商品编码, 商品名称, 商品类型, sum(数量) AS 进货总数量 FROM Table1 GROUP BY 商品编码, 商品名称, 商品类型) AS a LEFT JOIN (SELECT 商品编码, 商品名称, 商品类型, sum(数量) AS 出货总数量 FROM Table2 GROUP BY 商品编码, 商品名称, 商品类型) AS b ON a.商品编码=b.商品编码在SqlServer下测试结果:商品编码, 商品名称, 商品类型,进货总数量,出货总数量,现有库存01 可乐 饮料 200 30 17002 大米 食物 350 80 27003 糖果 零食 90 0 90
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部