【问题标题】:SQL, CUCM: query returns with no resultSQL,CUCM:查询返回无结果
【发布时间】:2018-03-13 08:54:53
【问题描述】:

在 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 

【问题讨论】:

    标签: sql cisco cucm


    【解决方案1】:

    它没有找到任何匹配的行,因此 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 
    

    【讨论】:

    • 谢谢斯里尼。如果有匹配则返回。然而我犯了一个巨大的错误。我必须使用 e.fkdevice 而不是 e.fkdevice_currentloginprofile 来查找与设备表的 d.pkid 的匹配项。
    猜你喜欢
    • 1970-01-01
    • 2012-05-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-08
    • 2011-01-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多