一个视图问题
我在写一个视图,所用数据库为oralce表如下:
create table per_swap
(
Swap_id varchar(10) not null, /* 编号 */
Emp_id varchar(10) not null, /* 员工编号 */
Out_depid varchar(8) null, /* 调出部门名称 */
Lpost_name varchar(12) null, /* 调出前工作岗位 */
Enter_depid varchar(8) null, /* 调进部门名称 */
Npost_name varchar(12) null, /* 调进工作岗位 */
swap_type char(1) null, /* 出入类型 */
Out_sign varchar(8) null, /* 调出部门领导签字 */
Enter_sign varchar(8) null, /* 调入部门领导签字 */
If_confirm char(1) null, /* 是否批准 */
Swap_date date null, /* 时间 */
Remark varchar(80) null, /* 备注*/
constraint pk_per_swap primary key(Swap_id)
);
这里面有一个调出部门后一个调进部门,
视图代码如下:
CREATE VIEW v_per_swap AS
SELECT A.swap_id,A.emp_id,B.emp_name,A.out_depid,C.dep_name,
A.lpost_name,A.enter_depid,A.npost_name,
DECODE(A.swap_type,'1','调入','调出') swap_type,
A.out_sign,A.enter_sign,
DECODE(A.if_confirm ,'1','批准','未批准') if_confirm,
to_char(A.swap_date,'YYYY-MM-DD') swap_date,A.remark
FROM per_swap A,per_employee B,per_department C
WHERE A.emp_id=B.emp_id(+) and A.out_depid=C.dep_id(+)
and A.enter_depid=C.dep_id(+);
如果这样写出来的话,那emp_name在视图里就不显示,如果去掉下面的and A.enter_depid=C.dep_id(+),就只能显示出调出部门的汉字,调进部门不能显示
如何解决啊!!!!