以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 请教一个sql 语句 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=178706) |
-- 作者:ljh29206 -- 发布时间:2022/7/17 8:42:00 -- 请教一个sql 语句 表1 计划表 产品号 开始时间 结束时间 计划数 A1 1-1 00:00 1-1 11:59 50 A1 1-1 12:00 1-1 23:59 60 A2 1-1 00:00 1-1 11:59 70 表2 实绩表 产品号 日期 数量 A1 1-1 6:15 10 A1 1-1 6:16 15 A2 1-1 3:15 20 A1 1-1 15:50 30 求出一个视图表3 产品号 开始时间 结束时间 计划数 实际数 A1 1-1 00:00 1-1 11:59 50 25 A1 1-1 12:00 1-1 23:59 60 30 A2 1-1 00:00 1-1 11:59 70 20[此贴子已经被作者于2022/7/18 9:05:53编辑过]
|
-- 作者:有点蓝 -- 发布时间:2022/7/17 20:38:00 -- select a.*,b.实际数总和 from {表1} as a inner join (select 产品号,日期,sum(数量) as 实际数总和 from {表2} group by 产品号,日期) as b on a.产品号 = b.产品号 and a.日期 = b.日期 |
-- 作者:ljh29206 -- 发布时间:2022/7/18 9:11:00 -- 篮板 在请教一下 按时间段汇总 s elect a.*,b.实际数总和 from {表1} as a inner join (s elect 产品号,日期,sum(数量) as 实际数总和 from {表2} group by 产品号 ,日期) as b on a.产品号 = b.产品号 and a.开始时间 <= b.日期 and a.结束时间 > b.日期 我改了,但数据结果(实际数汇总)只有1.
|
-- 作者:有点蓝 -- 发布时间:2022/7/18 9:25:00 -- 请上传实例测试 |
-- 作者:kaiyu -- 发布时间:2022/7/18 9:50:00 -- se lect 产品号,开始时间,结束时间,计划数,(se lect sum(数量) as 实际数 from 实际表 where 产品号 = a.产品号 and 日期 between a.开始时间 and a.结束时间) as 实际数 from 计划表 a,试一下行不行 |
-- 作者:ljh29206 -- 发布时间:2022/7/18 10:01:00 -- 篮版 请看附件
|
-- 作者:有点蓝 -- 发布时间:2022/7/18 10:16:00 -- 使用的什么数据库?如果是SqlServer,参考5楼用法 |
-- 作者:ljh29206 -- 发布时间:2022/7/18 10:41:00 -- 请教2位 语句可以获得汇总数, 但是 日期 比较 只是 年月日的 比较 少了时分秒 , 这个可以怎么弄呢
|
-- 作者:有点蓝 -- 发布时间:2022/7/18 10:43:00 -- 日期正常都是比较到时分秒甚至毫秒的 |