【发布时间】:2014-12-26 15:24:23
【问题描述】:
我有两张桌子:scans 和 personel。在scans 中有一个createdby 列,其中创建扫描的人的用户名在那里。我需要创建一个视图来查看这些扫描,但不是用户名,而是我想查看我在表personel 中拥有的那个人的全名。这个查询最有效:
select personel.firstname ||' '|| personel.lastname as CREATEDBY
from scans inner join personel on scans.createdby = personel.username;
问题是scans.createdby 中有一些用户名不再出现在personel 表中,并且由于createdby 列中的值与username 列中的任何值。
因此,对于这种情况,我想为这些扫描输出来自 createdby 的值。
如果:
scans.createdby = personel.username => 显示全名
但如果:
scans.createdby 不匹配任何personel.username => 显示来自scans.createdby 的用户名而不是全名
【问题讨论】:
标签: sql oracle join left-join inner-join