CREATE OR REPLACE VIEW ECC_FST.EMP_STATION_CUST_MAG_V AS
SELECT T.PROD_ID PRODUCT_LINE_ID,
T.CUSTOMER_ID,
PLV.PRODUCT_CODE,
PLV.PRODUCT_LINE_NAME,
SCM.SALES_CHAN_MANAGER_NAME, -- 经营体名称
SCM.SALES_CHANN_MANAGER_ID, -- 经营体ID
SCM.SALES_CHAN_MANAGER_CODE, -- 经营体编码
CIV.DQD_CODE, -- 大渠道编码
SCP.SALE_CHANNEL_ID, -- 小渠道ID
SCP.SALE_CHANNEL_CODE XQD_CODE, -- 小渠道CODE
SCP.SALE_CHANNEL_NAME, -- 小渠道名称
CIV.TRADE_ID, -- 工贸ID
CIV.TRADE_CODE, -- 客户所属工贸code
CIV.TRADE_NAME, -- 客户所属工贸名称
T.EMPLOYEE_ID, -- 用户ID
SE.LOGIN_ID EMPLOYEE_CODE, -- 用户编码
SE.NAME EMPLOYEE_NAME, -- 用户名称
NVL(T.NEXT_EMPLOYEE_ID, 0) AS NEXT_EMPLOYEE_ID, -- 下任人员ID
NE.LOGIN_ID NEXT_EMPLOYEE_CODE, -- 下任人员CODE
NE.NAME NEXT_EMPLOYEE_NAME, -- 下任人员名称
T.FST_ROLE_LOOKUP_CODE ROLE, -- 职位类型
T.FST_SUBMIT_STATION_ID, -- 岗位ID
T.FST_SUBMIT_STATION_CODE, -- 岗位code
T.FST_SUBMIT_STATION_NAME, -- 岗位名称
CIV.CUSTOMER_CODE, -- 客户code
CIV.CUSTOMER_NAME, -- 客户名称
CIV.SUBTYPE_LOOKUP_CODE, -- 日日顺客户1004
CIV.CUSTOMER_FLAG
FROM
(
WITH E_S_C_R AS
(
SELECT
SER.EMPLOYEE_ID,
SER.NEXT_EMPLOYEE_ID,
SC.FST_ROLE_LOOKUP_CODE,
SC.FST_SUBMIT_STATION_ID,
SC.FST_SUBMIT_STATION_CODE,
SC.FST_SUBMIT_STATION_NAME,
SCR.CUSTOMER_ID,
sc.PRODUCT_SERIES_CODE,
sc.PRODUCT_LINE_ID
FROM
ECC_FST.STATION_CONFIG SC,
ECC_FST.STATION_EMPLOYEE_RELATION SER,
ECC_FST.STATION_CUSTOMER_RELATION SCR
WHERE
SC.DELETE_FLAG = 'F'
AND SC.ENABLE_FLAG = 'T'
AND SER.FST_SUBMIT_STATION_ID = SC.FST_SUBMIT_STATION_ID
AND SER.ENABLE_FLAG = 'T'
AND SER.DELETE_FLAG = 'F'
AND SC.FST_SUBMIT_STATION_ID = SCR.FST_SUBMIT_STATION_ID
AND SCR.ENABLE_FLAG = 'T'
AND SCR.DELETE_FLAG = 'F'
)
SELECT EMP_PROD.PROD_ID, -- 产品线ID
E_S_C_R.EMPLOYEE_ID, -- 当任人员ID
E_S_C_R.NEXT_EMPLOYEE_ID, -- 下任人员ID
E_S_C_R.FST_ROLE_LOOKUP_CODE,
E_S_C_R.FST_SUBMIT_STATION_ID,
E_S_C_R.FST_SUBMIT_STATION_CODE,
E_S_C_R.FST_SUBMIT_STATION_NAME,
E_S_C_R.CUSTOMER_ID
/*COUNT(*)*/
FROM E_S_C_R,
(SELECT SEP.EMP_ID, SEP.PROD_ID
FROM ECC_OMS.SYS_EMP_PROD SEP
WHERE SEP.ENABLE_FLAG = 'T'
AND SEP.DELETE_FLAG = 'F'
GROUP BY SEP.EMP_ID, SEP.PROD_ID) EMP_PROD
WHERE
E_S_C_R.EMPLOYEE_ID = EMP_PROD.EMP_ID
AND E_S_C_R.FST_ROLE_LOOKUP_CODE = 'YHJL'
UNION ALL
SELECT PL.PRODUCT_ID PROD_ID, ---产品线id
E_S_C_R.EMPLOYEE_ID, --用户ID
E_S_C_R.NEXT_EMPLOYEE_ID, --下任人员ID
E_S_C_R.FST_ROLE_LOOKUP_CODE ROLE, ---职位类型
E_S_C_R.FST_SUBMIT_STATION_ID, -- 岗位ID
E_S_C_R.FST_SUBMIT_STATION_CODE, ---岗位code
E_S_C_R.FST_SUBMIT_STATION_NAME, ---岗位名称
E_S_C_R.CUSTOMER_ID
/*count(*)*/
FROM E_S_C_R,
ECC_FND.BU_PRODUCT_GROUP_PL PL
WHERE
E_S_C_R.PRODUCT_SERIES_CODE = PL.GROUP_CODE
UNION ALL
SELECT V.PRODUCT_ID PROD_ID, ---产品线id
E_S_C_R.EMPLOYEE_ID, --用户ID
E_S_C_R.NEXT_EMPLOYEE_ID, --下任人员ID
E_S_C_R.FST_ROLE_LOOKUP_CODE ROLE, ---职位类型
E_S_C_R.FST_SUBMIT_STATION_ID, -- 岗位ID
E_S_C_R.FST_SUBMIT_STATION_CODE, ---岗位code
E_S_C_R.FST_SUBMIT_STATION_NAME, ---岗位名称
E_S_C_R.CUSTOMER_ID
/*count(*)*/
FROM E_S_C_R,
ECC_FND.PRODUCT_LINE_V V
WHERE
V.PRODUCT_ID = E_S_C_R.PRODUCT_LINE_ID
AND NVL(E_S_C_R.PRODUCT_SERIES_CODE,'NVL') = 'NVL'
AND E_S_C_R.FST_ROLE_LOOKUP_CODE = 'PR'
)t,
ECC_FND.PRODUCT_LINE_V PLV,
ECC_CUSTOMER.CUSTOMER_INFO_V CIV,
ECC_FST.SALES_CHANNEL_PROPERTIES SCP, -- 大小渠道基本信息
ECC_FST.SALES_CHANNEL_MANAGER_RELATION SCMR, -- 经营体与小渠道关系信息(按产品线)
ECC_FST.SALES_CHANNEL_MANAGER SCM, -- 经营体基本信息
ECC_OMS.SYS_EMPLOYEE SE,
ECC_OMS.SYS_EMPLOYEE NE
WHERE T.PROD_ID = PLV.PRODUCT_ID
AND T.CUSTOMER_ID = CIV.CUSTOMER_ID
AND CIV.XQD_CODE = SCP.SALE_CHANNEL_CODE
AND SCP.ENABLE_FLAG = 'T'
AND SCP.DELETE_FLAG = 'F'
AND SCP.SALE_CHANNEL_ID = SCMR.SALE_CHANNEL_ID
AND T.PROD_ID = SCMR.PRODUCT_LINE_ID
AND SCMR.SALES_CHANN_MANAGER_ID = SCM.SALES_CHANN_MANAGER_ID
AND SCM.ENABLE_FLAG = 'T'
AND SCM.DELETE_FLAG = 'F'
AND T.EMPLOYEE_ID = SE.ID
AND SE.ENABLE = 'Y'
AND T.NEXT_EMPLOYEE_ID = NE.ID(+);
分享到:
相关推荐
Oracle的视图分为简单视图和复杂视图两种,简单视图是从单一的表中获取数据,其中不包含函数和数据组等,复杂视图是指在视图定义中包括了聚合函数、分析函数、用户自定义函数、多表关联、子查询等。此类视图在...
本实验涵盖了 Oracle 中的视图概念、创建视图、显示视图的内容、从数据字典视图中选择视图的名字和文本、使用视图查询数据、创建带有条件的视图、显示视图的结构和内容、更新视图、创建复杂视图等内容,为读者提供了...
2. **视图类型**:视图可以是基于单个表的简单视图,也可以是基于多表或包含函数、分组的复杂视图。简单视图通常只包含一个表和基本的SELECT操作,而复杂视图可能涉及多个表、聚合函数、连接等。 3. **视图优点**:...
2. **复杂视图**:基于多个表的联接操作,可能包含子查询、联接、聚合函数等。 3. **计算视图**:视图中的某些列是通过表达式计算得出的,而非直接来源于基础表的列。 4. **索引视图**:对视图进行了物理存储,以...
4. **复杂视图** 视图还可以基于其他视图,或者结合多个表。例如,我们可以创建一个展示每个部门平均薪资的视图: ```sql CREATE VIEW DepartmentAverageSalary AS SELECT department, AVG(salary) AS avg_...
- **复杂视图**:数据来自多个表,可能包含函数或数据分组,不一定允许通过视图进行DML操作。 3. **视图的使用**:可以从视图中检索数据,如同从普通表中一样,可以显示整个视图的内容或特定的行和列。 4. **数据...
1、简单视图只从单表里获取数据,复杂视图从多表; 2、简单视图不包含函数和数据组,复杂视图包含; 3、简单视图可以实现DML操作,复杂视图不可以。 语法结构:创建视图 CREATE [OR REPLACE] [FORCE|...
- `stuview4`是一个复杂视图,它结合了多个表(student和sc)的查询结果,通过子查询来获取特定班级所有女生的信息。 - `stuview5`展示了每个学生的所有课程的学号、姓名和总成绩,这是通过连接student和sc表实现...
在iOS应用开发中,高效的滚动视图是用户体验的关键部分,特别是在处理大量数据或者复杂视图时。`LazyScrollView`是一个针对Swift开发的解决方案,旨在优化性能,实现UI控件的异构滚动。这个框架允许开发者在滚动视图...
在Android开发中,创建一个类似小米日历的周月视图切换功能是一项常见的需求,它涉及到用户界面(UI)设计、...通过这个项目,开发者可以深入理解Android UI框架的工作原理,并掌握如何根据业务需求定制复杂视图组件。
2. 复杂视图:基于多个表或视图,可能包含子查询、联接或其他复杂操作。 四、使用视图 创建视图后,用户可以通过`SELECT`, `INSERT`, `UPDATE`和`DELETE`语句来操作视图。但需要注意,对视图的操作可能会受到原始表...
例如,创建一个包含出版社名称的复杂视图: ```sql CREATE OR REPLACE VIEW 图书作者出版社(书名, 作者, 出版社名称) AS SELECT 图书名称, 作者, 出版社名称 FROM 图书, 出版社 WHERE 图书.出版社编号 = 出版社....
- **复杂视图**:包含函数、表达式或分组数据。 - **连接视图**:基于多个表的连接。 - **只读视图**:仅支持查询操作,不允许进行DML(插入、更新、删除)操作。 在视图上执行DML操作时需遵循以下原则: - **...
- 复杂视图:可能基于多个表,可能包含聚合函数(如MIN, MAX, AVG)、分组(GROUP BY)以及联接操作。 6. **使用临时视图**: 临时视图通常用于会话期间的临时数据处理,仅对当前会话可见,会话结束时自动删除。 ...
6. **性能优化**:在处理大量数据或复杂视图时,需要考虑性能问题。可以通过懒加载、分页、缓存等策略减少内存占用和提升响应速度。 通过`MultiViewDemo`这样的示例项目,开发者可以学习到如何在实际应用中实现这些...
复杂视图可能包含连接、聚合函数、分组等高级查询元素,如示例中的 `dept_sum_vu` 视图,它显示每个部门的最低工资、最高工资和平均工资。 7. **临时视图** 临时视图是SQL语句中的子查询,它们在会话期间存在,...
简单视图基于单个表,而复杂视图可能涉及多个表的联接、子查询或其他复杂的SQL表达式。视图也可以是可更新的、只读的,或者是物化视图,物化视图会预先计算并存储结果,提高查询效率。 在实际应用中,视图经常与...
1. 视图的基本概念:了解视图的定义、类型(简单视图、复杂视图、可更新视图等)及其在数据库系统中的位置。 2. 创建视图:学习SQL语句`CREATE VIEW`,理解其语法结构,包括指定视图名称、选择字段、来源表等。 3. ...
在PL/SQL中,创建视图更灵活,可以创建简单视图、只读视图、检查视图、连接视图以及复杂视图等。例如,创建一个只读视图可以使用`CREATE OR REPLACE VIEW`语句,后面跟上SQL查询来定义视图内容。修改视图同样需要`...
2. **复杂视图**:视图可以包含多表连接、子查询等多种复杂的 SQL 操作。 3. **视图的索引**:尽管视图本身不存储数据,但可以通过创建索引来优化查询性能。 #### 五、视图的局限性 虽然视图提供了诸多便利,但也...