Oracle Union使用
来源:互联网 发布:男士通勤包推荐知乎 编辑:程序博客网 时间:2024/05/29 19:32
使用场景:在已登录的操作人员中已经拥有了组权限,要求再给登录的操作人员添加人员权限。
原SQL查询为:SELECT ROLEID FROM OPER_TEAMPRIVILEGE WHERE ID IN(ID_1,ID_2,...ID_n);
修改后SQL查询:Select Distinct * From(select roleid from OPER_TEAMPRIVILEGE t Where Id In ('ID_1,ID_2,...ID_n') Union Select roleid From oper_operatorrole t Where operatorid=' 人员ID');
表格构如下:
组权限表结构 OPER_TEAMPRIVILEGE:
表格名称 | 操作员组权限表(OPER_TEAMPRIVILEGE) | ||||||||
字段名 | 中文名称 | 数据类型 | 长度 | 允许为空 | 缺省值 | 主键 | 外键 | 索引 | 备注 |
ID | 组唯一代号 | Varchar2 | 20 | 否 | | 是 | 是 | | OPER_OPERATORTEAM |
ROLEID | 权限编号 | Varchar2 | 10 | 否 | | 是 | 是 | | OPER_ROLE |
人员权限结构 OPER_OPERATORROLE:
表格名称 | 操作员人员权限表(OPER_OPERATORROLE) | ||||||||
字段名 | 中文名称 | 数据类型 | 长度 | 允许为空 | 缺省值 | 主键 | 外键 | 索引 | 备注 |
OPERATORID | 人员唯一代号 | Varchar2 | 20 | 否 | | 是 | 是 | | |
ROLEID | 权限编号 | Varchar2 | 10 | 否 | | 是 | 是 | | OPER_ROLE |
[备注:]在查询中UNION 最后的返回结果集是去掉了所有的重复记录,而不区分是哪个表里的记录的,而 UNION ALL 会返回合并后的全部结果集,所以修改后的SQL使用Distinct关键字多余的。
今天犯的一个小错误!呵呵~~
- Oracle Union使用
- oracle中union的使用
- Oracle中的Union、Union All、Intersect、Minus的使用
- oracle order by 和union all(union)的使用
- oracle数据库中的union 和 union all 的使用
- Oracle union union all
- Oracle Sequences和union同时使用
- oracle union
- Oracle Union
- Oracle Union Union All 使用方法
- oracle union union all 区别
- Oracle UNION ALL替换UNION
- Oracle Union Union All 使用方法
- Oracle中的Union、Union All
- Oracle Union Union All 使用方法
- oracle Union 与 union all
- oracle union 与 union all
- union 使用
- 内存泄漏检测程序的算法优化
- Implement a single linklist
- Linux如何在系统启动时自动加载模块
- 在powerbuilder中使用odbc连接mysql5数据库中文乱码解决方法
- 堆栈理解
- Oracle Union使用
- UVa Problem Solution: 10132 - File Fragmentation
- 问天下,有几人能跟上微软的步伐?
- 编译和安装linux内核2.6.x,一个简单的内核驱动测试
- C#学习笔记(五)
- 理解ORACLE数据库字符集[1]
- Eclipse常用快捷键汇总
- 程序算法
- 09年NBA全明星候选名单和投票方法