oracle 三表关联查询
oracle 三表关联查询
CreationTime--2018年7月4日17点52分
Author:Marydon
左连接实现三表关联
表A---------------------------------关联第一张表B-----------------------关联第二张表c
1.语法
select * from 表名A left join 表B on A.columnX=B.columnM and A.columnY=B.columnN left join 表c on 表A=表c的id
2.应用场景
四张表 GJPT_BASY、GJZY_BASY、GJPT_BASY_ERROR、GJZY_BASY_ERROR
根据四张表,要求返回:医疗机构名称,医疗机构编号,总数,合格数和问题数
3.SQL实现
SELECT TEMP1.*, TEMP2.HEGESUM, TEMP3.TROUBLESUMFROM (SELECT T1.YLNAME, T1.YLCODE, SUM(RS1) AS YLSUM--总数FROM (SELECT COUNT(1) AS RS1,HDSD00_11_118 AS YLNAME,HDSD00_11_119 AS YLCODEFROM GJPT_BASYGROUP BY HDSD00_11_119, HDSD00_11_118UNION ALLSELECT COUNT(1) AS RS1,HDSD00_12_133 AS YLNAME,HDSD00_12_134 AS YLCODEFROM GJZY_BASYGROUP BY HDSD00_12_133, HDSD00_12_134UNION ALLSELECT COUNT(1) AS RS1,HDSD00_11_118 AS YLNAME,HDSD00_11_119 AS YLCODEFROM GJPT_BASY_ERRORGROUP BY HDSD00_11_119, HDSD00_11_118UNION ALLSELECT COUNT(1) AS RS1,HDSD00_12_133 AS YLNAME,HDSD00_12_134 AS YLCODEFROM GJZY_BASY_ERRORGROUP BY HDSD00_12_133, HDSD00_12_134) T1GROUP BY T1.YLNAME, T1.YLCODE) TEMP1LEFT JOIN (SELECT *FROM (SELECT T2.YLNAME, T2.YLCODE, SUM(RS2) AS HEGESUM--合格数FROM (SELECT COUNT(1) AS RS2,HDSD00_11_118 AS YLNAME,HDSD00_11_119 AS YLCODEFROM GJPT_BASYGROUP BY HDSD00_11_119, HDSD00_11_118UNION ALLSELECT COUNT(1) AS RS2,HDSD00_12_133 AS YLNAME,HDSD00_12_134 AS YLCODEFROM GJZY_BASYGROUP BY HDSD00_12_133, HDSD00_12_134) T2GROUP BY T2.YLNAME, T2.YLCODE)) TEMP2ON TEMP2.YLNAME = TEMP1.YLNAMEAND TEMP2.YLCODE = TEMP1.YLCODELEFT JOIN (SELECT *FROM (SELECT T3.YLNAME, T3.YLCODE, SUM(RS3) TROUBLESUM--问题数FROM (SELECT COUNT(1) AS RS3,HDSD00_11_118 AS YLNAME,HDSD00_11_119 AS YLCODEFROM GJPT_BASY_ERRORGROUP BY HDSD00_11_119, HDSD00_11_118UNION ALLSELECT COUNT(1) AS RS3,HDSD00_12_133 AS YLNAME,HDSD00_12_134 AS YLCODEFROM GJZY_BASY_ERRORGROUP BY HDSD00_12_133, HDSD00_12_134) T3GROUP BY T3.YLNAME, T3.YLCODE)) TEMP3ON TEMP3.YLNAME = TEMP1.YLNAMEAND TEMP3.YLCODE = TEMP1.YLCODEWHERE TEMP3.YLCODE='41580781841010511A1001';
相关推荐:
- oracle 两表关联查询
oracle 三表关联查询相关推荐
- oracle关联分组查询,oracle中关联查询、分组查询
高级查询 1.关联查询 作用:可以跨越多表查询 --查询出员工的名字和他所在部门的的名字 //古老的写法 select first_name,name from s_emp,s_dept where ...
- SQL查询语句多表联查、三表关联查询
1.左连接(三表关联) 三表只查询左表有数据的值,右表没有的数据会显示出NULL值 语法 left---join---on 示例: select s.*,c.*,d.* from 表名 s left ...
- oracle数据库关联查询
数据库范式(3种) 关联查询: 1外链接: (1)左外链接 (2)右外连接 (3)全连接 2内连接: create table T_class( classid integer primary key ...
- mysql 三表关联查询
Select A.name,B.name from A inner join B on A.id=B.id和 Select A.name,B.name from A,B where A.id=B.id ...
- php三表关联查询,SQL两表关联查询(两表会了,三表,四表都小意思)
这几天在php群里吹牛逼,看到一个sql表关联查询问题,以前就想写,一直没总觉,实话说,我去年这个时候一表查询都不会,说来惭愧,闲话不多说,正题开始: 首先是news表 下面是newscate表 // ...
- oracle 三表关联更新_Oracle数据库入门
Oracle数据库的基本概念 个人理解:Oracle在数据库的整体定义上与Mysql不同,但在具体的数据项操作,例如增删改查上,两者的知识是可以很好的重合的.因此大家在学习的时候,得学会有的放矢. O ...
- java和oracle的关联,Oracle数据关联查询
今天又有小进步,^_^! 来源:赛迪网 作者:Alizze 关联在Oracle数据查询时会经常用到,灵活的应用关联可以解决很多实际应用的问题.下面给出一些示例: 建表 create table ...
- mysql三表关联查询
条件: a,b,c三张表,a表里面有b,c表的主键 三张表,需要得到的数据是标红色部分的.sql如下: 方法一: 内连接 select a.uid,a.uname,a.upsw,a.urealname ...
- SQL 三表关联查询
表 a,b,c SELECT 列名 FROM a JOIN b ON a.列名 = b.列名 JOIN c ON c.列名 = a.列名
最新文章
- 单链表带头结点不带头结点
- 210. 课程表 II
- webservices系列(二)——JAX-WS文件上传下载
- Python 第三方模块之 NumPy - 科学计算
- 两条边延长角会有什么变化_田园易经:什么样的风水环境会影响人的健康?
- 锋利的jQuery第2版学习笔记8~11章
- springboot socket服务端_SpringBoot2.x系列教程81--SpringBoot中整合WebSockets
- 【论文写作】毕业论文写作的基本流程
- 日常生活开支记账明细_做好这3点,不再白记账
- postgresql和mysql语句区别_postgresql和mysql语句区别
- 23种设计模式JAVA案例
- 电路串联和并联图解_蓄电池串联与并联方式图解
- 使鼠标保持按住状态_让电脑也能听、会写、还会说!小米小爱鼠标抢先体验
- 数据分析的重要性体现在哪里?
- ERP与条码系统集成实现精益化可追溯
- 在线作图丨微生物分析——alpha多样性指数分析
- 时滞微分方程求解之三ddesd--变时滞
- 数学之美系列二十四 -- 谈谈动态规划与如何设计动态规划算法
- sklearn-KMeans-花卉识别
- 升能集团港交所上市:市值近18亿港元 年营收1亿美元