【发布时间】:2015-01-18 16:47:56
【问题描述】:
我正在使用 MSSQL 数据库作为小型 CTI 应用程序的后端,我想知道是否有更好的方法来查询 CTI 数据库中调用的每个客户端的上次调用尝试。
我有两张表 CUSTOMERS 和 CALLS。 CALLS 使用外键存储所有调用的历史记录 - CUSTOMER_ID 作为指向 CUSTOMER 表的链接。
我的查询如下:
SELECT * FROM CALLS x
JOIN
(SELECT MAX(CALL_ID), CUSTOMER_ID FROM CALLS GROUP BY CUSTOMER_ID) y
ON
x.CALL_ID = y.CALL_ID
由于调用表中有数以千计的记录和其他一些联接,因此会花费太多时间。我将不胜感激一些如何加快速度的想法。
粗制滥造
【问题讨论】:
-
我们需要查看表定义,包括键和索引才能正确回答这个问题。表格的行数也会有所帮助。
标签: sql-server tsql join