Sql server 一列中包含不同数据的用户的SQL Server查询

Sql server 一列中包含不同数据的用户的SQL Server查询,sql-server,Sql Server,我有一个包含Users、UserGroupID和Paydate列的表 初始注册时,UserGroupID默认为1或2,但随着时间的推移,一些用户的UserGroupID将更新为3 单个用户在记录用户的付款日期时会多次访问该表 如何查询数据库以查找现在3岁的用户,并查看他们以前的UserGroupID是什么?您可以创建第二个表来跟踪历史记录。它可以保存UserId、UserGroupID和更改发生的日期。使用存储过程来处理更新。此过程在更新UserGroupID时向历史记录表中添加一行 您的查询类

我有一个包含Users、UserGroupID和Paydate列的表

初始注册时,UserGroupID默认为1或2,但随着时间的推移,一些用户的UserGroupID将更新为3

单个用户在记录用户的付款日期时会多次访问该表


如何查询数据库以查找现在3岁的用户,并查看他们以前的UserGroupID是什么?

您可以创建第二个表来跟踪历史记录。它可以保存UserId、UserGroupID和更改发生的日期。使用存储过程来处理更新。此过程在更新UserGroupID时向历史记录表中添加一行

您的查询类似于:

Declare @UserId varchar(30) = 'My UserId'
Select UserId, UserGroupId from Users where UserId = @UserId
Union All
Select UserId, UserGroupId from UserHistory where UserId = @UserId

谢谢你的回复。这可能会继续下去,但我正在处理表格中已经存在的大量数据。我不确定是否有一种好方法可以获取您的历史记录。您可以尝试从备份中获取快照,并尝试构建历史记录,但这可能是一个长期目标。您是否有另一个表,该表可能有可用于填充历史数据的审核跟踪?例如,您知道的一个表是由特定用户更新的,其中只有特定的UserGroupID具有插入权限。