【发布时间】:2017-04-07 05:42:36
【问题描述】:
我有下表,其中有所有学生的跟踪记录。
|==========================================|
| ID | Department | Date |
|==========================================|
| 001 | English | Feb 3 2017 |
| 001 | English | Feb 4 2017 |
| 001 | Science | Mar 1 2017 |
| 001 | Science | Apr 2 2017 |
| 001 | Maths | Apr 7 2017 |
| 002 | Maths | Feb 1 2017 |
| 002 | Maths | Apr 7 2017 |
| 003 | Maths | Apr 3 2017 |
| 004 | Science | Feb 1 2017 |
| 004 | Maths | Apr 7 2017 |
|==========================================|
我需要在学生更改部门之前获取之前的记录。对于上面的例子,返回的记录集应该是
对于 001,
| 001 | English | Feb 4 2017 |
| 001 | Science | Apr 2 2017 |
对于 002 和 003
没有变化
004
| 004 | Science | Feb 1 2017 |
同一用户也有可能改回同一部门。例如,user001 可以从部门 a 更改为部门 b 到部门 c 并返回到部门 a。我已阅读有关 T-SQL 发送和接收的信息。但不确定这在这种情况下是否有帮助。请帮忙。
【问题讨论】:
-
SQL Server 的版本是多少?
-
我不明白;您想查询表以查找这些记录,还是想在 INSERT 或 UPDATE 发生时立即获取这些记录?
-
@GiorgosAltanis 每当部门在历史上发生变化时,它都必须获取记录集。与 001 一样,系已从英语-科学更改为 2 月 4 日。同样,他已从科学-数学更改为 4 月 4 日。这适用于所有 ID
-
@VladimirBaranov 版本是 2012
-
那么,现在你有了答案,发送和接收是什么?
标签: sql sql-server sql-server-2012