Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
12
返回列表 发新帖
楼主: 快樂學習

[已解决]用SQL语句合并表的问题??

  [复制链接]
发表于 2011-9-14 15:17 | 显示全部楼层
这个语句也可以!
select a.编号,a.名称,a.入库数量,a.入库金额/a.入库数量 as 进价,a.入库金额,b.出库数量,b.出库金额/b.出库数量 as 售价,b.出库金额 from (select 编号,名称,sum(入库数量) as 入库数量,sum(入库金额) as 入库金额 from [表1$] group by 编号,名称) a left join (select 编号,名称,sum(出库数量) as 出库数量,sum(出库金额) as 出库金额 from [表2$] group by 编号,名称) b on a.编号 = b.编号 and a.名称 = b.名称
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
回复

使用道具 举报

 楼主| 发表于 2011-9-14 15:45 | 显示全部楼层
回复

使用道具 举报

发表于 2011-9-14 15:51 | 显示全部楼层
快樂學習 发表于 2011-9-14 15:45
回复 csmctjg 的帖子

测试完全正确,谢谢

如果 有一个新编号
没有进货  有出货
就全被忽略掉!
你试试在 销售表 加一个 BF0033 出货记录!
回复

使用道具 举报

发表于 2011-9-14 16:16 | 显示全部楼层
恩,出现了笛卡尔积的问题,用下面这个
  1. select D.编号,D.名称,D.入库数量,D.进价,D.入库金额,C.出库数量,C.售价,C.出库金额 from (select A.编号,A.名称,sum(A.入库数量) as 入库数量,avg(A.进价) as 进价,sum(A.入库金额) as 入库金额 from [表1$] A group by A.编号,A.名称) D left outer join (select B.编号,B.名称,sum(B.出库数量) as 出库数量,avg(B.售价) as 售价,sum(B.出库金额) as 出库金额 from [表2$] B group by B.编号,B.名称) C on D.编号=C.编号 and D.名称=C.名称
复制代码
回复

使用道具 举报

 楼主| 发表于 2011-9-14 21:37 | 显示全部楼层
回复 無心 的帖子

謝謝無心版主的回覆,我这里也给一个吧!!
select 编号,名称,sum(入库数量) as 入库数量,max(进价) as 进价,sum(入库金额) as 入库金额,sum(出库数量) as 出库数量,max(售价) as 售价,sum(出库金额) as 出库金额 from (select 编号,名称,入库数量,进价,入库金额,0 as 出库数量,0 as 售价,0 as 出库金额 from [表1$]
union all
select 编号,名称,0,0,0,出库数量,售价,出库金额 from [表2$]) group by 编号,名称


回复

使用道具 举报

 楼主| 发表于 2011-9-14 22:08 | 显示全部楼层
回复 mxg825 的帖子

哦,还没测试,谢谢!!
回复

使用道具 举报

发表于 2011-9-15 14:05 | 显示全部楼层
回复 快樂學習 的帖子

你这个和我的代码 是一样的!

只不过是我分成几个部分,好理解!

你就直接合成一句而已!
回复

使用道具 举报

 楼主| 发表于 2011-9-15 18:56 | 显示全部楼层
回复 mxg825 的帖子

呵呵,多謝你的回复,VBA我现在还不会呢,只能够套用了呵呵!!
回复

使用道具 举报

发表于 2011-9-15 19:11 | 显示全部楼层
学习学习,谢谢~
回复

使用道具 举报

 楼主| 发表于 2011-9-16 00:40 | 显示全部楼层
回复 天涯浪迹 的帖子

互相學習呵呵
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-5-30 00:31 , Processed in 0.418427 second(s), 9 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表