【发布时间】:2014-03-18 20:26:58
【问题描述】:
我使用的是 SQL 2012,我有这张表:
Id Ticket LastChange
1 369151 2010-03-18
2 369151 2010-03-18
11 374173 2010-11-11
12 374173 2010-11-11
13 374173 2010-11-11
54 374173 2014-01-13
63 374503 2010-11-18
64 393920 2010-10-15
65 393920 2010-10-15
69 393920 2010-10-19
70 393920 2012-03-29
71 404145 2011-03-04
77 404145 2011-03-04
78 404145 2011-03-10
79 404145 2011-03-10
80 404145 2011-03-10
81 404145 2011-03-28
82 404145 2011-03-28
83 404145 2011-03-28
84 404146 2011-03-04
我想删除其工单组在过去 x 个月内没有更改的所有记录。例如,如果票据 374173 在过去 6 个月内没有 LastChange,则删除票据 374173 的表中的所有记录。
我可以用一个荒谬的组查询、加入、子查询、子查询、删除来做到这一点,但它似乎过于复杂。我认为分区可能是一种更简单的方法,但对 TSQL 来说仍然是新手。任何帮助是极大的赞赏。谢谢。
【问题讨论】: