【发布时间】:2015-07-31 13:33:22
【问题描述】:
调用表
CallId | Date | Time | MemberID | CallDuration
12 | 02.02.2015| 13:33:54| 3245| 234 |
13 | 02.02.2015| 13:37:24| 3245| 33 |
活动表
Date*********** Time*** MemberId ***Activity
02.02.2015*** 13:31:22*** 3245*** A
02.02.2015*** 13:34:54*** 3245*** B
我的老板想知道当他们接到电话时,活动成员(员工)正在做什么(或之前的活动)。该数据存储在上面给出的两个表中。
我正在使用 Cursor 从 CallTable 中获取每一行,然后在循环中使用另一个游标来检索最后一个活动。 CallTable 中有大约 100 万行,处理它需要很长时间。 CallTable中没有基于CallID的Primary-Foreign key关系。
这里有人可以建议我如何通过 JOIN 实现这一目标并避免使用游标吗?
提前致谢
【问题讨论】:
-
您的 SQL Server 版本是什么?
-
SQL Server 2008 R2标准版。
-
对于 SS2008 Gordon 的查询应该是最好的。对于不同的方法,您需要 Cumulative Sum 或 Last_Value,SS2012 之前不支持这两种方法
-
好的,谢谢你的信息。
标签: sql sql-server join cursors