表 a id name classid
1 222 1
2 333 2
表 b classid classname
1 gg
我要建个视图把表a的classid转成b的calssname 如果 a的 classid b里没有则保持原值
如
查询的结果
id name classname/id
1 222 gg
2 333 2
1 222 1
2 333 2
表 b classid classname
1 gg
我要建个视图把表a的classid转成b的calssname 如果 a的 classid b里没有则保持原值
如
查询的结果
id name classname/id
1 222 gg
2 333 2
from a
left join b on a.classid=b.classid
from a,b
where a.classid=b.classid(+)
from a,b
where a.classid=b.classid(+);
from a
left join b
on a.id=b.id用left join就可以搞定。
from a
left join b
on a.id=b.id
呵呵,几种写法都被大家写了,我就copy一个贴出来吧,哈哈!
SELECT A.ID,A.NAME,DECODE(A.CLASSID,B.CLASSID,B.CLASSNAME,A.CLASSID) CLASSID
FROM A,B
WHERE A.ID=B.CLASSID(+)--结果
ID NAME CLASSID
1 1 222 GG
2 2 333 2
AS
SELECT A.ID,A.NAME,DECODE(A.CLASSID,B.CLASSID,B.CLASSNAME,A.CLASSID) CLASSID
FROM A, B
WHERE A.ID=B.CLASSID(+)
select a.id,a.name,nvl(b.classname,a.classid) classname/id
from a,b
where a.classid=b.classid(+)左联接的问题,楼主真该多看看SQL的基础知识