ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

sql语句优化问题

[复制链接]

TA的精华主题

TA的得分主题

发表于 2012-8-19 17:52 | 显示全部楼层 |阅读模式
select 日期,厂商,sum(金额) as 进货金额,0 as  退货金额,0 as 已付金额 from [进货表$] where 厂商<>null group by 日期,厂商 order by 厂商,日期 union all select 日期,厂商,0 as 进货金额,sum(金额) as  退货金额,0 as 已付金额 from [退货表$] where 厂商<>null group by 日期,厂商 order by 厂商,日期 union all select 日期,厂商,0 as 进货金额,0 as  退货金额,sum(金额) as 已付金额 from [已付表$] where 厂商<>null group by 日期,厂商 order by 厂商,日期怎么简化  一下

TA的精华主题

TA的得分主题

发表于 2012-8-19 18:02 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2012-8-19 18:04 | 显示全部楼层
乱做一通。
  1. select 日期,厂商,sum(进货金额) as 进货金额,sum(退货金额) as 退货金额,sum(已付金额) as 已付金额  from (
  2. select 日期,厂商,sum(金额) as 进货金额,0 as  退货金额,0 as 已付金额 from [进货表$]
  3. union all
  4. select 日期,厂商,0 as 进货金额,sum(金额) as  退货金额,0 as 已付金额 from [退货表$]  
  5. union all
  6. select 日期,厂商,0 as 进货金额,0 as  退货金额,sum(金额) as 已付金额 from [已付表$]
  7. )  where 厂商 is not null group by 日期,厂商 order by 厂商,日期
复制代码

评分

1

查看全部评分

TA的精华主题

TA的得分主题

发表于 2012-8-19 18:20 | 显示全部楼层

[code=sql]SELECT A.日期,A.厂商,sum(A.金额) as 进货金额,sum(B.金额) as 退货金额,sum(C.金额) as 已付金额
FROM [进货表$] AS A
LEFT JOIN [退货表$] AS B
  ON A.厂商 = B.厂商
LEFT JOIN [已付表$] AS C
  ON A.厂商 = C.厂商
group by A.日期,A.厂商
order by 厂商,日期[/code]

评分

1

查看全部评分

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

本版积分规则

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

GMT+8, 2025-1-8 13:19 , Processed in 0.021691 second(s), 10 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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