此查询涉及两个数据库和4个表。第一个数据库(PhoneBills)包含第一个表(CallDetails),其中包含以下列:
这里感兴趣的列是[From]和[To]。
在第二个数据库(rtc - 这是一个Lync持久性数据DB)中,有三个感兴趣的表:
我真的不知道ResourceDirectory定义了什么,我猜测用户名匹配的电话号码可以改变,并且目录会记录那些时间。出于简化的目的,我暂时忽略这一部分。
我想要实现的是从资源获取用户名,因为我可以在ResourcePhone中找到与我的电话号码匹配的内容。
答案 0 :(得分:2)
这不会起作用吗?
SELECT Username
FROM Resource R
JOIN ResourcePhone RP on R.ResourceID = RP.ResourceID
WHERE RP.phonenumber = '1111111111'
答案 1 :(得分:0)
未经测试。我今天早上没喝咖啡。你已被警告过了。
select
pb.Time,
pb.From, r1.Username as FromName,
pb.To, r2.Username as ToName,
pb.Cost, pb.Length
from PhoneBills pb
inner join ResourcePhone rpfr on rpfr.PhoneNumber = pb.From
inner join ResourcePhone rpto on rpto.PhoneNumber = pb.To
inner join Resource r1 on r1.ResourceID = rpfr.ResourceID
inner join Resource r2 on r2.ResourceID = rpto.ResourceID
将PhoneBills加入ResourcePhone以访问特定电话号码的ResourceID。然后将该ResourceID加入表Resource以访问用户名。