表A的列:code,car,time;
表B的列:code,desc。其中表A是数据表,保存了每个car在不同的time发生的事件code;表B是字典表,保存了每个事件code的描述信息。但表B中保存的code不完整,即假设表A会保存实际发生的100种事件code,但表B中只保存了70种code的desc记录。现在希望通过一次查询得到code,car,time和desc。对每一code,如果表B中存在对应的desc,则将desc一并选出,如果表B中没有对应的记录,则返回空的desc,不知该怎么写。谢谢!
表B的列:code,desc。其中表A是数据表,保存了每个car在不同的time发生的事件code;表B是字典表,保存了每个事件code的描述信息。但表B中保存的code不完整,即假设表A会保存实际发生的100种事件code,但表B中只保存了70种code的desc记录。现在希望通过一次查询得到code,car,time和desc。对每一code,如果表B中存在对应的desc,则将desc一并选出,如果表B中没有对应的记录,则返回空的desc,不知该怎么写。谢谢!
select A.code,A.car,A.time,nvl(B.desc,'') as desc
from A,B
where A.code = B.code(+)
select A.code,A.car,A.time,nvl(B.desc,'') as desc
from A a left join B b on a.code=b.code
nvl(B.desc,'') --如果为空的话可以显示你想要显示的内容
select a.*,b.desc from a left join b on (a.code=b.code);
from A left join B
on A.code = B.code