【PostGresql】------ pg多表数据多个条件汇总 使用 union 方法示例代码

news/2024/7/9 23:34:07 标签: java, 数据库, postgresql

1. 示例代码如下: 

SELECT
		"ID",
		"DT_DATE",
		"CNAME",
		"RMAN_NAME",
		"DEP_NAME",
		"DEP_ID",
		"INVEST_MAN_NAME",
		"TYPE_NAME",
		"INVEST_LEVEL_NAME",
		"POSITION_NAME",
		"CMEMO",
	  SUM ( "YHCOUNT" ) AS "YHCOUNT",
		SUM ( "YCCOUNT" ) AS "YCCOUNT",
		SUM ( "WCCOUNT" ) AS "WCCOUNT"

FROM
	(
		(
				SELECT
					"WR"."ID",
					"WR"."DT_DATE",
					"WR"."CNAME",
					"WR"."RMAN_NAME",
					"WR"."DEP_NAME",
					"WR"."DEP_ID",
					"WR"."INVEST_MAN_NAME",
					"WR"."TYPE_NAME",
					"WR"."INVEST_LEVEL_NAME",
					"WR"."POSITION_NAME",
					"WR"."CMEMO",
					COUNT ( "APT"."WR_ID" ) AS "YHCOUNT",
					0 AS "YCCOUNT",
					0 AS "WCCOUNT"
				FROM
					"DCS_WR" AS "WR"
					LEFT JOIN "DCS_ACCIDENT_POTENTIAL" AS "APT" ON "WR"."ID" = "APT"."WR_ID" 
				WHERE
					"WR"."BILL_TYPE" = '隐患排查记录' 
					AND "WR"."ORG_ID" = '23cffbbf076a49798171ea9afbc25330' 
					AND ( "WR"."DT_DATE" >= '2024-02-18' ) 
					AND ( "WR"."DT_DATE" <= '2024-03-20' ) 
				GROUP BY
					"WR"."ID",
					"WR"."DT_DATE",
					"WR"."CNAME",
					"WR"."RMAN_NAME",
					"WR"."DEP_NAME",
					"WR"."DEP_ID",
					"WR"."INVEST_MAN_NAME",
					"WR"."TYPE_NAME",
					"WR"."INVEST_LEVEL_NAME",
					"WR"."POSITION_NAME",
					"WR"."CMEMO" 
				
			) UNION
			(
				SELECT
					"WR"."ID",
					"WR"."DT_DATE",
					"WR"."CNAME",
					"WR"."RMAN_NAME",
					"WR"."DEP_NAME",
					"WR"."DEP_ID",
					"WR"."INVEST_MAN_NAME",
					"WR"."TYPE_NAME",
					"WR"."INVEST_LEVEL_NAME",
					"WR"."POSITION_NAME",
					"WR"."CMEMO",
					0 AS "YHCOUNT",
					COUNT ( "APT"."WR_ID" ) AS "YCCOUNT",
					0 AS "WCCOUNT"
				FROM
					"DCS_WR" AS "WR"
					LEFT JOIN "DCS_ACCIDENT_POTENTIAL" AS "APT" ON "WR"."ID" = "APT"."WR_ID" 
				WHERE
					"WR"."BILL_TYPE" = '隐患排查记录' 
					AND "WR"."ORG_ID" = '23cffbbf076a49798171ea9afbc25330' 
					AND ( "WR"."DT_DATE" >= '2024-02-18' ) 
					AND ( "WR"."DT_DATE" <= '2024-03-20' ) 
					and  ("APT"."STATUS_NAME"='已复查' or "APT"."STATUS_NAME"='待复查')
				GROUP BY
					"WR"."ID",
					"WR"."DT_DATE",
					"WR"."CNAME",
					"WR"."RMAN_NAME",
					"WR"."DEP_NAME",
					"WR"."DEP_ID",
					"WR"."INVEST_MAN_NAME",
					"WR"."TYPE_NAME",
					"WR"."INVEST_LEVEL_NAME",
					"WR"."POSITION_NAME",
					"WR"."CMEMO" 
				
			) 
			 UNION
			(
				SELECT
					"WR"."ID",
					"WR"."DT_DATE",
					"WR"."CNAME",
					"WR"."RMAN_NAME",
					"WR"."DEP_NAME",
					"WR"."DEP_ID",
					"WR"."INVEST_MAN_NAME",
					"WR"."TYPE_NAME",
					"WR"."INVEST_LEVEL_NAME",
					"WR"."POSITION_NAME",
					"WR"."CMEMO",
					0 AS "YHCOUNT",
					0 AS "YCCOUNT",
					COUNT ( "APT"."WR_ID" ) AS "WCCOUNT"
				FROM
					"DCS_WR" AS "WR"
					LEFT JOIN "DCS_ACCIDENT_POTENTIAL" AS "APT" ON "WR"."ID" = "APT"."WR_ID" 
				WHERE
					"WR"."BILL_TYPE" = '隐患排查记录' 
					AND "WR"."ORG_ID" = '23cffbbf076a49798171ea9afbc25330' 
					AND ( "WR"."DT_DATE" >= '2024-02-18' ) 
					AND ( "WR"."DT_DATE" <= '2024-03-20' ) 
					and  "APT"."STATUS_NAME"!='已复查' AND "APT"."STATUS_NAME"!='待复查'
				GROUP BY
					"WR"."ID",
					"WR"."DT_DATE",
					"WR"."CNAME",
					"WR"."RMAN_NAME",
					"WR"."DEP_NAME",
					"WR"."DEP_ID",
					"WR"."INVEST_MAN_NAME",
					"WR"."TYPE_NAME",
					"WR"."INVEST_LEVEL_NAME",
					"WR"."POSITION_NAME",
					"WR"."CMEMO" 
				
			) 
	) "T"
	

WHERE
	( 1 = 1 )   and ("YHCOUNT">0 OR "WCCOUNT">0 OR "YCCOUNT">0)

GROUP BY 
	
		"ID",
		"DT_DATE",
		"CNAME",
		"RMAN_NAME",
		"DEP_NAME",
		"DEP_ID",
		"INVEST_MAN_NAME",
		"TYPE_NAME",
		"INVEST_LEVEL_NAME",
		"POSITION_NAME",
		"CMEMO"
ORDER BY
	"DT_DATE" DESC 


http://www.niftyadmin.cn/n/5442170.html

相关文章

VScode(1)之内网离线安装开发环境(VirtualBox+ubuntu+VScode)

VScode(1)之内网离线安装开发环境(VirtualBoxubuntuVScode) Author: Once Day Date: 2022年7月18日/2024年3月17日 一位热衷于Linux学习和开发的菜鸟&#xff0c;试图谱写一场冒险之旅&#xff0c;也许终点只是一场白日梦… 漫漫长路&#xff0c;有人对你微笑过嘛… 全系列文…

入门Go语言:构建你的第一個程序

欢迎来到我的Go语言教程 这是一个关于Go语言的简单教程&#xff0c;适合初学者入门。 安装Go语言 首先&#xff0c;你需要在你的计算机上安装Go语言环境。以下是安装步骤的简要概述&#xff1a; Windows 访问Go语言官方网站下载适用于Windows的安装包。运行安装程序&#…

从深度伪造到恶意软件:网络安全迎来AI新挑战

如今&#xff0c;有越来越多的恶意行为者开始利用AI大语言模型开发能够绕过 YARA 规则的自我增强型恶意软件。 根据近日Recorded Future 发布的一份新报告&#xff1a;AI可以通过增强小型恶意软件变种的源代码来规避基于字符串的 YARA 规则&#xff0c;从而有效降低检测率。 …

记录无线通信网站

https://www.rfwireless-world.com/ 包含许多无线知识的一个网站 包含了以上无线通讯协议 2.https://csa-iot.org/https://csa-iot.org/2.https://csa-iot.org/ connectivity standards alliance CSA-IOT 官网 推出的协议有&#xff1a; 如果想查找已认证CSA某种协议的产品…

[linux初阶][make/Makefile]在vim编辑器中编写进度条小程序

目录 零.储备知识 0.1 make与makefile的区别与联系 0.2 缓冲区 0.3 \r 与 \n 一.编写Makefile文件 1.1 创建所需文件 1.2 编辑Makefile文件 二.编写 ".c .h 文件" 2.1 编写Main.c文件 2.2 编写file.h文件 2.3 编写ProBar.c文件 三.生成可执行程序.执行…

人人开源ueditor富文本+SpringBoot后端,配置问题解决

目录 一、序言 二、出现的问题 三、人人开源富文本情况 四、SpringBoot后端配置 1.关于json文件 2.关于官方提供给SpringBoot的ueditor依赖 五、总结 一、序言 首先博主第一次开始去使用到人人开源的富文本&#xff0c;在使用时几个问题解决了一天&#xff0c;如果你也存…

Python爬虫-数据采集和处理

文章目录 数据数据类型 数据分析过程数据采集数据采集源数据采集方法 数据清洗清洗数据数据集成数据转换数据脱敏 数据 《春秋左传集解》云&#xff1a;“事大大其绳&#xff0c;事小小其绳。”体现了早期人类将事情的“大小”这一性质抽象到“绳结大小”这一符号上从而产生数…

3/20作业

1> 创建一个工人信息库&#xff0c;包含工号&#xff08;主键&#xff09;、姓名、年龄、薪资。 2> 添加三条工人信息&#xff08;可以完整信息&#xff0c;也可以非完整信息&#xff09; 3> 修改某一个工人的薪资&#xff08;确定的一个&#xff09; 4> 展示出工资…