SQL从三个表中根据时间分别查询并汇总数量一行展示

这篇具有很好参考价值的文章主要介绍了SQL从三个表中根据时间分别查询并汇总数量一行展示。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

需求:如果您要从三个表中根据时间分别查询并汇总数量,然后将结果以时间和数量一行展示,可以使用子查询和条件聚合。

入库主表

SQL从三个表中根据时间分别查询并汇总数量一行展示,sql,数据库

入库明细表

SQL从三个表中根据时间分别查询并汇总数量一行展示,sql,数据库

出库主表

SQL从三个表中根据时间分别查询并汇总数量一行展示,sql,数据库

出库明细表

SQL从三个表中根据时间分别查询并汇总数量一行展示,sql,数据库

退货主表

SQL从三个表中根据时间分别查询并汇总数量一行展示,sql,数据库

退货明细表

SQL从三个表中根据时间分别查询并汇总数量一行展示,sql,数据库

SQL代码

SELECT time,sum(a.inQty) as inQty,sum(a.outQty) as outQty,sum(a.returnQty) as returnQty
FROM (
    SELECT InTime as time,count(*) as inQty,0 as outQty,0 as returnQty
    FROM BS_In i left join BS_In_1 i1 on i.ID=i1.MID
   	where CONVERT(VARCHAR(10),InTime,120) >= '2023-07-25'
             and CONVERT(VARCHAR(10),InTime,120) <='2023-07-31'
			 Group by InTime
    UNION ALL
    select OutTime as time,0 as inQty,count(*) as outQty,0 as returnQty
        from BS_Out o left join BS_Out_1 o1 on o.ID=o1.MID 
			where CONVERT(VARCHAR(10),OutTime,120) >= '2023-07-25'
             and CONVERT(VARCHAR(10),OutTime,120) <='2023-07-31'
			  Group by OutTime
    UNION ALL
     select ReturnTime as time,0 as inQty,0 as outQty,count(*) as returnQty
        from BS_Return r left join BS_Return_1 r1 on r.ID=r1.MID  
				where CONVERT(VARCHAR(10),ReturnTime,120) >= '2023-07-25'
             and CONVERT(VARCHAR(10),ReturnTime,120) <='2023-07-31'
			   Group by ReturnTime
) AS a
GROUP BY time

查询结果

SQL从三个表中根据时间分别查询并汇总数量一行展示,sql,数据库

可以看到2023-07-31日,入库9个,出库0个,退货0个。文章来源地址https://www.toymoban.com/news/detail-629014.html

到了这里,关于SQL从三个表中根据时间分别查询并汇总数量一行展示的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【SQL】对表中的记录通过时间维度分组,统计出每组的记录条数

    场景:一般用作数据统计,比如统计一个淘宝用户在年、月、日的维度上的订单数。 业务:一个集合,以时间维度来进行分组求和。 准备一张订单表order,有一些常规属性,比如创建时间,订单号。 DDL语句如下: 测试数据准备如下,50条DML语句,其中order_date分布在2023年1月

    2024年01月16日
    浏览(31)
  • SQL结果-根据某个字段取最新时间去重

    现在有个sql,如果“propertyId”相同,取“updateTime”时间最新的那条记录,其他过滤掉。 结果SQL 为了通过 propertyId 去重并获取每个 propertyId 对应的最新时间的记录,可以使用窗口函数 ROW_NUMBER() 来对每个分组进行排序,并在外部查询中取出 rn 列等于 1 的行,即每个分组中的第

    2024年02月07日
    浏览(40)
  • 很好用的mysql父子集查询SQL(根据父级查询所有子集)

    在表中一定要有id和pid,这样才能使用该sql。 根据pid查询出其下的所有子集(比如,子集的子集的子集…)全部查询出来。 首先,在表中按照父节点(parent_id)和id字段(id)的顺序对数据进行排序,并将排序后的结果存入 org_query 子查询中。 然后,使用变量 @id 以递归方式检索所

    2024年02月15日
    浏览(31)
  • 【MySQL】根据多个字段查询数据进行去重的sql编写

    一、实现思路 根据四个字段进行数据去重的SQL编写可以使用GROUP BY和HAVING子句来实现。 场景一: 假设有一个名为 table1 的数据表,其中包含四个字段: field1 、 field2 、 field3 和 field4 。要求根据这四个字段进行数据去重。 可以使用以下SQL语句: 场景二: 上述SQL语句会返回所

    2024年02月15日
    浏览(31)
  • Python3,多种方法,同时执行多条SQL语句,并把查询结果分别写入不同Sheet页,妥妥的学到了。

    小屌丝 :鱼哥,我想请教一个问题。 小鱼 :国庆假期你经历了什么,让你变得如此的 “ 善良 ”? 小屌丝 :别这么说,我一直很善良,至少,很正直… 小鱼 :打住,直接点, 你有什么需要帮助的? 小屌丝 :我就是想把查询的结果也入到excel表中 小鱼 :然后呢? 小屌丝 :

    2024年02月08日
    浏览(44)
  • Java查询es数据,根据指定id检索(in查询),sql权限过滤,多字段匹配检索,数据排序

    Java集成Elasticsearch,进行索引数据查询,并进行sql权限过滤,指定id检索(in查询),多字段匹配检索,数据排序。由于权限过滤是根据sql语句判断当前用户或其部门可查询的数据,所以采用以下方法: 1.通过sql过滤出当前用户可查询的数据id集合idsList; 2.将当前用户可查询的

    2024年02月22日
    浏览(53)
  • sql语句时间范围查询(包含开始时间和结束时间)

    时间查询中的between...and 中between之后的时间为开始时间(包含)and 之后为结束时间(不包含) 若想包含结束时间需包含 “时分秒” 这是未搜索之前的   这是搜索之后的    

    2024年02月11日
    浏览(31)
  • 【SQL开发实战技巧】系列(二十六):数仓报表场景☞聊聊ROLLUP、UNION ALL是如何分别做分组合计的以及如何识别哪些行是做汇总的结果行

    【SQL开发实战技巧】系列(一):关于SQL不得不说的那些事 【SQL开发实战技巧】系列(二):简单单表查询 【SQL开发实战技巧】系列(三):SQL排序的那些事 【SQL开发实战技巧】系列(四):从执行计划讨论UNION ALL与空字符串UNION与OR的使用注意事项 【SQL开发实战技巧】系列

    2023年04月12日
    浏览(61)
  • SQL Server 查询数据并汇总相关技巧 23.08.08

    GROUPING 是一个聚合函数,它产生一个附加的列,当用 CUBE 或 ROLLUP 运算符添加行时,附加的列输出值为1,当所添加的行不是由 CUBE 或 ROLLUP 产生时,附加列值为0。 仅在与包含 CUBE 或 ROLLUP 运算符的 GROUP BY 子句相联系的选择列表中才允许分组。 语法 GROUPING ( column_name ) 参数 col

    2024年02月14日
    浏览(26)
  • sql 查询时间范围内的数据

    要查询特定时间范围内的数据,您可以使用 SQL 中的  BETWEEN  运算符。以下是一个示例查询,它从名为  your_table  的表中检索在  start_date  和  end_date  之间创建的所有记录: 请注意,您需要将  your_table  替换为您要查询的表的名称, created_date  替换为包含日期/时间值的

    2024年01月22日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包