0

CUCM (11.5) cli 中的以下 SQL 查询返回以下结果:

device          number          loggedin_to_lg linegroup
=============== =============== ============== ======================================
CSFABCDEF      \+49325874147  f              LG-HG_BER01_49325874147      
CSFRFETRS      \+49325800848  f              LG-HG_BER01_493225800848
run sql select d.name as Device, n.dnorpattern as Number, dhd.hlog as LoggedIn_to_LG, lg.name as LineGroup 
from linegroup as lg 
inner join linegroupnumplanmap as lgmap on lgmap.fklinegroup=lg.pkid 
inner join numplan as n on lgmap.fknumplan = n.pkid 
inner join devicenumplanmap as dmap on dmap.fknumplan=n.pkid 
inner join device as d on dmap.fkdevice=d.pkid 
inner join devicehlogdynamic as dhd on dhd.fkdevice=d.pkid 
order by lg.name 

但是,如果我们尝试将另一个表 -extensionmobilitydynamic- 内部连接到此查询并显示其中的一列,它会返回没有结果。

run sql select d.name as Device, n.dnorpattern as Number, dhd.hlog as LoggedIn_to_LG, lg.name as LineGroup, e.datetimestamp 
from linegroup as lg 
inner join linegroupnumplanmap as lgmap on lgmap.fklinegroup=lg.pkid 
inner join numplan as n on lgmap.fknumplan = n.pkid 
inner join devicenumplanmap as dmap on dmap.fknumplan=n.pkid 
inner join device as d on dmap.fkdevice=d.pkid 
inner join devicehlogdynamic as dhd on dhd.fkdevice=d.pkid 
inner join extensionmobilitydynamic as e on e.fkdevice = d.pkid 
order by lg.name 
4

1 回答 1

0

它没有找到任何匹配的行,因此 INNER JOIN 无法检索任何内容。您必须为可能没有匹配结果的新表尝试左连接。在这种情况下,结果列将为 NULL。

run sql select d.name as Device, n.dnorpattern as Number, dhd.hlog as LoggedIn_to_LG, lg.name as LineGroup, e.datetimestamp 
from linegroup as lg 
inner join linegroupnumplanmap as lgmap on lgmap.fklinegroup=lg.pkid 
inner join numplan as n on lgmap.fknumplan = n.pkid 
inner join devicenumplanmap as dmap on dmap.fknumplan=n.pkid 
inner join device as d on dmap.fkdevice=d.pkid 
inner join devicehlogdynamic as dhd on dhd.fkdevice=d.pkid 
left join extensionmobilitydynamic as e on e.fkdevice = d.pkid 
order by lg.name 
于 2018-03-13T10:48:07.963 回答