请给看看,哪里错了?在线等.....
很久没操作数据库了,建了一个视图,记录丢失,不解
select em_name,dep_name,wa_base from em,dep,wa where em.em_depnum=dep.dep_num and em.em_num =wa.wa_num;
说明如下:
em_name是em中的列
dep_name 是dep中的列
wa_base 是wa中的列
em和dep 有键 em_depnum=dep_num
em和wa有键 em_num=wa_num
建成视图后,在视图中少记录
假设em有100条,wa有100条,dep有20条
结果仅仅有85条
希望结果是以em为中心,100条记录
------解决方案--------------------
想以em为中心 就用左连接啊
你这样 如果数据不能一一对应 肯定会少于100条的
左连接用法
select em_name,dep_name,wa_base from em,dep,wa where em.em_depnum=dep.dep_num(+) and em.em_num =wa.wa_num(+);
------解决方案--------------------
SQL code
--你使用的是等值连接,不符合的当然不会出现了
--使用左连接以em为准
select em_name, dep_name, wa_base
from em, dep, wa
where em.em_depnum = dep.dep_num(+)
and em.em_num = wa.wa_num(+);