情况如下:我有两张表(A,B)
如此查询:select A.Caller,B.Name from A,B where A.ID=xxx and A.caller=B.Caller
这样查询出来的结果就是ID=XXX,且在B表中存在的数据。
我希望如果 “A.caller=B.Caller”这个条件不满足的时候,B.Name就等于“未知用户”。请问如何实现?
如此查询:select A.Caller,B.Name from A,B where A.ID=xxx and A.caller=B.Caller
这样查询出来的结果就是ID=XXX,且在B表中存在的数据。
我希望如果 “A.caller=B.Caller”这个条件不满足的时候,B.Name就等于“未知用户”。请问如何实现?
from A,B
where A.ID=xxx and A.caller=B.Caller(+)
试试
from A,B
where A.ID=xxx
and A.caller=B.Caller(+)主要考虑的是nvl函数的使用和左连接的使用,祝您好运
where A.ID='xxx'
但是多写几个(+)就会报错:“ORA-01719: OR 或 IN 操作数中不允许外部联接运算符 (+)”
如果非要的话:
select A.Caller,nvl(B.Name,'未知用户') from A full outer join B on A.caller=B.Caller
where A.ID=xxx and;