将以下查询语句与上一条查询语句拼接起来select b.department_name,b.department_code,sum(zj)zj,sum(xz)xz,sum(yf)yf,sum(yj)yj from( select substr(b.department_code, 0, 4) department_code,sum(DIRECTCOST)zj, sum(MANAGERMENTSHAREDCOST) as xz, sum(MEDICALASSISTANCESHAREDCOST)as yf, sum(MEDICALTECHNOLOGYSHAREDCOST)as yj from dcm_calshare a left join dcm_department b on a.DEPT_ID=b.department_code where b.outin in ('MZ','ZY','MZZY') and yearmonth='2023-03' group by (b.department_code, 0, 4),b.outin) a left join dcm_department b on a.department_code=b.department_code where b.department_code not in('2099') group by b.department_code,b.department_name

时间: 2024-02-25 21:53:20 浏览: 16
可以使用 UNION ALL 将两条 SQL 查询语句拼接起来,从而得到一个包含所有查询结果的表格。 以下是拼接后的 SQL 查询语句: ``` SELECT b.department_name, b.department_code, a.outin, amount FROM ( SELECT substr(b.department_code, 0, 4) department_code, b.outin, sum(amount) amount FROM dcm_income_data a LEFT JOIN dcm_department b ON a.ordered_dept_id = b.department_id WHERE b.outin IN ('MZ', 'ZY', 'MZZY') AND yearmonth = '2023-03' GROUP BY (b.department_code, 0, 4), b.outin ) a LEFT JOIN dcm_department b ON a.department_code = b.department_code UNION ALL SELECT b.department_name, b.department_code, sum(zj) zj, sum(xz) xz, sum(yf) yf, sum(yj) yj FROM ( SELECT substr(b.department_code, 0, 4) department_code, sum(DIRECTCOST) zj, sum(MANAGERMENTSHAREDCOST) xz, sum(MEDICALASSISTANCESHAREDCOST) yf, sum(MEDICALTECHNOLOGYSHAREDCOST) yj FROM dcm_calshare a LEFT JOIN dcm_department b ON a.DEPT_ID = b.department_code WHERE b.outin IN ('MZ', 'ZY', 'MZZY') AND yearmonth = '2023-03' GROUP BY (b.department_code, 0, 4) ) a LEFT JOIN dcm_department b ON a.department_code = b.department_code WHERE b.department_code NOT IN ('2099') GROUP BY b.department_code, b.department_name; ``` 该查询语句首先执行两个子查询,分别获取收入数据和成本数据,并按照部门编码、收入类型和成本类型进行汇总。然后,使用 UNION ALL 将两个子查询的结果合并起来,并对合并后的结果按照部门编码和部门名称进行分组。其中,WHERE 子句用于过滤部门编码为 2099 的记录。需要注意的是,UNION ALL 会将两个子查询的结果直接合并,而不会去重,因此可能会出现重复记录。

相关推荐

优化以下SQL select pao.id, pao.order_no, pao.apply_time, pao.purchase_user_id, pao.purchase_user_name, pao.apply_user_id, pao.apply_user_name, pao.apply_department_id, pao.apply_department_name, pao.apply_end_time, pao.create_user_id, pao.create_user_name, pao.approve_type, pao.approve_user_id, pao.approve_user_name, pao.approve_time, pao.description, pao.order_type, pao.purchase_type, pao.storage_type, pao.compose_order_no, pao.company_id, pao.delete, pao.create_time, pao.update_time, pao.supplier_id, pao.image_path, pao.contract_id, pao.status, pao.invoice_signer_name, pao.total_amount, pao.total_amount_tax, pao.purchase_status, pao.cancel_reason, pao.print_status, pao.demand_id, pao.arrival_status, pao.supervise_num, pao.supervise_date, pao.merge_apply_id, pao.deadline, pao.remind , s.name as supplierName, paod.amount, cm.return_status as returnStatus, cm.inventory_status as inventoryStatus, cm.stock_remark, cm.merge_flag, cm.signature_file, cm.department_pass, cm.receipt_file, cm.amount_paid, cm.amount_unpaid, cm.contract_name, cm.status as contractStatus, cm.contract_no, cm.contract_amount, paod.product_name, cm.advance_payment, cm.advance_ratio, cm.currency_unit from purchase_apply_order pao left join supplier s on pao.supplier_id = s.id left join ( SELECT GROUP_CONCAT(distinct p.product_name) product_name, sum(IFNULL(amount_tax, 0)) amount, apply_order_no from purchase_apply_order_details pa left join product p on p.pn_code = pa.product_code where p.company_id = 29 GROUP BY apply_order_no ) paod on paod.apply_order_no = pao.order_no left join contract_management cm on pao.contract_id = cm.id where pao.delete = 0 and pao.company_id = 29 and deadline <= '2023-05-25 15:34:00.01' and remind = 0 and arrival_status in( 0 , 1 ) order by pao.create_time desc;

最新推荐

recommend-type

根据以下语句查询执行消耗CPU大的sql语句.docx

根据文档中三个语句查询执行消耗CPU大的sql语句,使用已详细说明,可选择其中一个查询程序中消耗CPU大的程序
recommend-type

只有两个字段用一个sql语句查询出某个学生的姓名、成绩以及在表中的排名

主要介绍了只有两个字段用一个sql语句查询出某个学生的姓名、成绩以及在表中的排名,需要的朋友可以参考下
recommend-type

完美解决mysql in条件语句只读取一条信息问题的2种方案

使用mysql多表查询时一个表中的某个字段作为另一表的in查询条件,只能读取一条信息,而直接用数字的话可以正常读取
recommend-type

java执行SQL语句实现查询的通用方法详解

主要介绍了java执行SQL语句实现查询的通用方法详解,具有一定借鉴价值,需要的朋友可以参考下。
recommend-type

用SELECT... INTO OUTFILE语句导出MySQL数据的教程

主要介绍了用SELECT... INTO OUTFILE语句导出MySQL数据的教程,是MySQL入门学习中的基础知识,需要的朋友可以参考下
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

实现实时数据湖架构:Kafka与Hive集成

![实现实时数据湖架构:Kafka与Hive集成](https://img-blog.csdnimg.cn/img_convert/10eb2e6972b3b6086286fc64c0b3ee41.jpeg) # 1. 实时数据湖架构概述** 实时数据湖是一种现代数据管理架构,它允许企业以低延迟的方式收集、存储和处理大量数据。与传统数据仓库不同,实时数据湖不依赖于预先定义的模式,而是采用灵活的架构,可以处理各种数据类型和格式。这种架构为企业提供了以下优势: - **实时洞察:**实时数据湖允许企业访问最新的数据,从而做出更明智的决策。 - **数据民主化:**实时数据湖使各种利益相关者都可
recommend-type

解释minorization-maximization (MM) algorithm,并给出matlab代码编写的例子

Minorization-maximization (MM) algorithm是一种常用的优化算法,用于求解非凸问题或含有约束的优化问题。该算法的基本思想是通过构造一个凸下界函数来逼近原问题,然后通过求解凸下界函数的最优解来逼近原问题的最优解。具体步骤如下: 1. 初始化参数 $\theta_0$,设 $k=0$; 2. 构造一个凸下界函数 $Q(\theta|\theta_k)$,使其满足 $Q(\theta_k|\theta_k)=f(\theta_k)$; 3. 求解 $Q(\theta|\theta_k)$ 的最优值 $\theta_{k+1}=\arg\min_\theta Q(
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。