有一个表A:ID,DATE,NAME(ID为主键);
表B:ID,DATE,AGE(ID,DATE为主键);
表C:ID,DATE,PID,SALARY(ID,DATE,PID为主键);
根据这三个表来创建一个视图,该视图以表A为根,得到以下信息
ID,DATE,NAME,AGE,SALARY
如果是这样建该如何完成:
CREATE OR REPLACR VIEW V_ABC
(ID,DATE,NAME,AGE,SALARY)
AS
SELECT
a.ID,
a.DATE,
a.NAME,
b.AGE,
c.SALARY
FROM A a,B b,C c
WHERE a.ID = b.ID(+) AND a.ID = c.ID(+) AND a.DATE = b.DATE(+) AND a.DATE = c.DATE(+)
这样做并没有达到效果,该如何改进。
问题补充:
如果用联结,那是不行的,我的要求是:
CREATE OR REPLACR VIEW V_ABC
(ID,DATE,NAME,AGE,SALARY)
AS
SELECT
a.ID,
a.DATE,
a.NAME,
b.AGE,
c.SALARY
FROM A a,B b,C c
A表为主架构,将B、C表中符合条件的信息插入到视图的相应位置,如何设计???
表B:ID,DATE,AGE(ID,DATE为主键);
表C:ID,DATE,PID,SALARY(ID,DATE,PID为主键);
根据这三个表来创建一个视图,该视图以表A为根,得到以下信息
ID,DATE,NAME,AGE,SALARY
如果是这样建该如何完成:
CREATE OR REPLACR VIEW V_ABC
(ID,DATE,NAME,AGE,SALARY)
AS
SELECT
a.ID,
a.DATE,
a.NAME,
b.AGE,
c.SALARY
FROM A a,B b,C c
WHERE a.ID = b.ID(+) AND a.ID = c.ID(+) AND a.DATE = b.DATE(+) AND a.DATE = c.DATE(+)
这样做并没有达到效果,该如何改进。
问题补充:
如果用联结,那是不行的,我的要求是:
CREATE OR REPLACR VIEW V_ABC
(ID,DATE,NAME,AGE,SALARY)
AS
SELECT
a.ID,
a.DATE,
a.NAME,
b.AGE,
c.SALARY
FROM A a,B b,C c
A表为主架构,将B、C表中符合条件的信息插入到视图的相应位置,如何设计???