一、背景

在我们的业务中,经常会有这样的需求:将某对象集合以列表的形式展示,但被展示的对象信息可能来自多个表,这时候,我们为了减少在系统对数据的处理,提高查询速度,会通过建立视图来解决这类问题。

二、具体代码

关联的三个表为:T_A,T_B,T_C

CREATE VIEW V_AGREEMENT_INFO AS SELECTID,ORG_ID,ID AS PRJ_ID,PRJ_NAME,((SELECTTASK_AGREEMENT_NOFROMT_BWHERET_B.PRJ_ID = T_A. ID)) AS CONTRACT_NO,'TASK' AS CONTRACT_TYPE,PRJ_NAME AS CONTRACT_NAME
FROMT_A
UNIONSELECTID,ORG_ID,PRJ_ID,(SELECTPRJ_NAMEFROMT_AWHERET_C.PRJ_ID = T_A. ID) AS PRJ_NAME,CONTRACT_NO,CONTRACT_TYPE,CONTRACT_NAMEFROMT_C

三、注意

1、在建立视图之前,先确定页面需要的展示具体的字段,以及该字段具体来着那张表;

2、确定该视图主要来自哪几张表的信息;

3、某字段信息需要展示在页面上,但在第一个表中没用有,只有第二个表有。该字段信息如果是默认为某个值,可以这样写:

'TASK' AS CONTRACT_TYPE

如果该字段的信息是从关联的别的表查询而来,可以这样写:

(SELECT PRJ_NAME FROM T_PM_PRJ_INFO WHERE T_PM_OTHER_CONTR_INFO.PRJ_ID = T_PM_PRJ_INFO.ID) AS PRJ_NAME

AS前的select语句要加括号,相当于,以查询到的某条信息的值做该字段的值。

【Oracle】建立关联三个表的视图相关推荐

  1. HubbleDotNet 开源全文搜索数据库项目--为数据库现有表或视图建立全文索引(三) 多表关联全文索引模式...

    关系型数据库中,多表关联是很常见的事情,HubbleDotNet 可以对部分情况的多表关联形式建立关联的全文索引,这样用户就不需要专门建一个大表 来解决多表关联时的全文索引问题. 下面以 为数据库现有 ...

  2. ORACLE存储过程运行报“ora-00942表或视图不存在”、“ORA-01031:权限不足”的解决方式

    目录: 一.案例 二.思索过程 三.解决方案 四.后记 正文 一.案例: 在userA用户下书写存储过程如下: create or replace procedure sp_test is v_str ...

  3. mysql创建三张表的视图_mysql三张表连接建立视图

    三张表连接·· A表的a字段 对应 B表的b字段 ,B表的b1字段对应C 表的c字段 现在 建立 一个视图,可以同时 看到三张表的 所有信息·~ create or replace view v_na ...

  4. 使用Navicat迁移MySQL数据至Oracle时大小写原因报“表或视图不存在”问题处理

    使用Navicat提供的数据传输工具将JEECMSv9的MySQL的数据迁移至Oracle数据库,数据迁移成功表都存在,但是在程序启动时提示表或视图不存在. Caused by: java.sql.S ...

  5. Springboot使用oracle数据连接出现的表或视图不存在问题

    开发Springboot连接oracle数据的情况,目前在工作中很少能遇到,可是偶尔有一个,那也得硬着头皮上,开发过程中也遇到了不少问题,这里再次记录一下查询数据时报表或视图不存在的问题. 描述:表或 ...

  6. oracle首先创建三个表,oracle理论学习详解及各种简单操作例子(初学者必备)

    oracle理论学习详解及各种简单操作例子(菜鸟必备) 1.数据库的发展过程 层次模型 -->网状模型 -->关系模型 -->对象关系模型 2.关于数据库的概念 DB:数据库(存储信 ...

  7. SQLServer制作一个包含三个表的视图

    在 视图 节点右击,新建视图: 选择 会员表.动态表.发布状态表:此视图将展示各个会员单位发布的动态: 添加表以后如下: 选择需要的字段:主要的表是动态表,选择动态id.动态标题.动态内容.发布状态: ...

  8. oracle首先创建三个表,oracle一个创建用户、创建表空间、授权、建表的完整过程...

    1.首先我们可以用scott用户以sysdba的身份登录oracle. 1. conn scott/tiger as sysdba 2.然后我就可以来创建用户了. 1. create user zzg ...

  9. Oracle查询数据提示ORA-00942:表或视图不存在

    问题背景 imp导入数据,查询数据提示表不存在,表名是小写的,加了双引号查询是可以的. 查看imp日志,发现导入表,表名是有双引号的!!! 解决方法 ALTER TABLE "aa" ...

  10. oracle删除用户下所有表、视图等操作(命令操作)

    sqlplus; –登录用户名与密码为需要删除的用户 SET HEAD OFF; SPOOL e:/drop_tables.sql; –delete tables select 'drop table ...

最新文章

  1. Jittor框架API
  2. Apache Kylin在绿城客户画像系统中的实践
  3. TCP三次握手与四次断开
  4. 一个python程序员需要掌握的知识-Python基础知识,初学者的你掌握了吗?
  5. python中的类及self详解_Python类class参数self原理解析
  6. 哈佛大学 CS50,全美最受欢迎的计算机课程!
  7. 中枪!这才是当代博士生真实日常大赏
  8. java 分层领域模型_Java领域模型 | 学步园
  9. android 开机打开串口失败,请大神帮我看看这是怎么回事,一用就说串口打开失败,再电脑上试...
  10. 华为软件机试测试题C语言,华为软件测试面试经验
  11. struts2和hibernate(2012/2/26)
  12. js基础知识(pomelo阅读)
  13. 十九、Oracle学习笔记:行变量
  14. ISIS协议的基础配置实验,原来做ISIS基础配置还可以这么有趣
  15. H7710s-DDP协议(抄录)
  16. 谷歌浏览器清除百度广告
  17. Android 计时器
  18. 基于QT5、C/S(客户端/服务器)架构的MiniQQ项目开发
  19. 渗透学习日记day5
  20. C++ Primer Plus 自学第六章结尾编程9题

热门文章

  1. Gradient Boosting算法简介(有python列子)
  2. Tensorflow函数测试之tf.contrib.layers.embed_sequence
  3. 基于51单片机的交通灯仿真方案原理图设计一个数码管
  4. java小学生加减法_用java代码写随机加法算术题。 这些知识你不一定知道
  5. Appium+python自动化23-Android夜神模拟器
  6. common pool 数据库连接池泄露排查
  7. 微软亚洲研究院成立20年,洪小文自述心路历程
  8. 车辆ECU综合测试系统研究
  9. Python学习笔记4---类和对象
  10. 计算机安装xp蓝屏怎么办,win7系统下装xp出现0x0000007B蓝屏解决方法|win7改装xp系统怎么设置BIOS...