1

新的 SQL 开发人员在这里。我正在为我们的 Asterisk 服务器编写一个通话记录应用程序。在一张表(CDRLogs)中,我有来自电话系统的通话记录(src、dst、calldate、duration)。在另一个表中,我有(员工)我有 empName、empExt、extStartDate extEndDate)。我想根据谁在通话日期使用特定的分机,将两者在 src 和 empExt 上结合在一起。在给定的时间范围内,每个扩展一个用户。

例如,在 7 月份,我们有 3 个不同的用户坐在 x100 上。在员工表中,我记录了每个人开始和结束使用该分机的日期。我如何让加入来反映这一点?

提前致谢

4

1 回答 1

0

也许是这样的:

SELECT A.*, B.*
FROM CDRLOGS A
INNER JOIN Employees B
  ON A.SRC = B.EmpExt
  AND A.CallDate between B.extStartDate and coalesce(B.extEndDate,getdate())

请将 * 替换为所需的相关字段,并且可能有更好的方法,因为之间的连接似乎可能会导致一些开销,但我目前想不出更好的方法。

于 2013-08-23T17:30:04.233 回答