【发布时间】:2013-09-09 14:52:04
【问题描述】:
我正在寻找有关在 MSSS 中使用光标的基本方向。
假设有一个表 TABLE1,有 2 个字段(ID、Date)。 ID 不是唯一键。该表按 id 记录事件,有些 id 经常出现,有些不经常出现。
例如:
ID | Date
1 | 2010-01-01
2 | 2010-02-01
3 | 2010-02-15
2 | 2010-02-15
4 | 2010-03-01
我想创建一个包含以下字段的新表:ID、日期、ID 在 Date 之前 6 个月内出现的次数、ID 在 Date 之后 6 个月内出现的次数。
有没有最好的方法来完成这个?非常感谢。
【问题讨论】:
-
这听起来不像需要光标。带有
COUNT()、CASE和GROUP BY的基本SELECT应该作为一个集合产生整个结果。 -
这个不需要光标,你想从哪个日期开始计算 6 个月之前或之后。
-
不要浪费时间学习游标——了解如何避免游标!
-
@Damien_The_Unbeliever 你能解释一下在这种情况下如何使用 Case 吗?
标签: sql sql-server tsql cursor