ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 1972|回复: 11

[已解决] SQL 3个表格各个汇总,然后相同条件的相减,求帮助!,我只会2个表格相减

[复制链接]

TA的精华主题

TA的得分主题

发表于 2020-9-22 14:10 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 bingoleexuben 于 2020-9-25 14:00 编辑

    之前这个求助已解决!     我现在是想增加一个sheet,用附件的订单 减 完成 减  在生产,用SQL  出现了不想要有结果!变成了订单减完成,订单 减在生产。而没有同时减,有重复行了。
             求高人帮我重改代码,做到正确的结果:  表格订单汇总后   减完成汇总  再减  在生产汇总。
已解决!!!  比VBA 字典好很多哇!!!!!!!
经过 自己的测试:代码如下   Private Sub CommandButton1_Click()
Dim conn As Object, sql$, Sh As Worksheet
Set Sh = Sheets("Sheet7")
Set conn = CreateObject("adodb.connection")
Sh.UsedRange.ClearContents  '清除Sheet7工作表内容
'You use Excel 2007-2010
conn.Open "provider=Microsoft.ACE.OLEDB.12.0;extended properties='excel 12.0;hdr=yes';data source=" & ThisWorkbook.FullName
      sql = ""
      sql = sql & "  Select T1.A1,T1.X,T2.Y+T3.Z,T1.X-T2.Y-T3.Z"
      sql = sql & "  FROM ((SELECT 花色 as A1,sum(重量) as X from [订单$a:e] GROUP BY 花色)T1 LEFT JOIN"
      sql = sql & "       (SELECT 花色 as B1,sum(重量) as Y from [完成$A:D] GROUP BY 花色)T2 ON T1.A1=T2.B1) LEFT JOIN"
      sql = sql & "       (SELECT 花色 as C1,sum(重量) as Z from [在生产$A:D] GROUP BY 花色)T3 ON T1.A1=T3.C1"
Sh.Range("A1:E1").Resize(, 4) = Array("花色", "订单重量", "完成重量", "欠数")   '表头
Sh.Range("A2").CopyFromRecordset conn.Execute(sql)  '结果比较
conn.Close
Set conn = Nothing
End Sub

SQL出入.rar

16.11 KB, 下载次数: 3

TA的精华主题

TA的得分主题

发表于 2020-9-22 14:14 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2020-9-22 14:32 | 显示全部楼层
一样的名称你这还要分开,那表关联就成了多对多了。。。。

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-9-22 15:30 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
此用户被禁言 发表于 2020-9-22 14:32
一样的名称你这还要分开,那表关联就成了多对多了。。。。

就是不会啊,只会用SQL 统计 一个表格的汇总。涉及到2个表格的,还要用减,就不会了

TA的精华主题

TA的得分主题

发表于 2020-9-22 15:33 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
我是说名称要合并展示一个最终,而不是你模拟的多个名称与多个名称的对应,这样多对多的连接后会造成迪卡尔运算积。。

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-9-22 15:36 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
此用户被禁言 发表于 2020-9-22 14:32
一样的名称你这还要分开,那表关联就成了多对多了。。。。

就是不会啊,只会用SQL 统计 一个表格的汇总。涉及到2个表格的,还要用减,就不会了

TA的精华主题

TA的得分主题

发表于 2020-9-22 15:38 | 显示全部楼层
你没有懂我说的啥。。。。

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-9-22 15:40 | 显示全部楼层
此用户被禁言 发表于 2020-9-22 14:32
一样的名称你这还要分开,那表关联就成了多对多了。。。。

品名肯定不止这些。会很多,达到1万左右吧,我把其它的删了

TA的精华主题

TA的得分主题

发表于 2020-9-22 15:40 | 显示全部楼层
实际数据量有多大,不是太多的话,直接用字典就行,很简单.

TA的精华主题

TA的得分主题

 楼主| 发表于 2020-9-22 15:41 | 显示全部楼层
本帖最后由 bingoleexuben 于 2020-9-22 15:45 编辑
flyfairy 发表于 2020-9-22 15:40
实际数据量有多大,不是太多的话,直接用字典就行,很简单.

一年下来,会有30万吧,用字典我会。我想学SQL
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

关闭

最新热点上一条 /1 下一条

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-4-25 23:27 , Processed in 0.049597 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

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