[英]Query for the name of a column with a changed value and the new value
我有两个具有完全相同列的表,一个是最新版本的数据,另一个是以前的版本。 我正在尝试创建一个报告/查询,以告诉我与旧版本相比,新版本中哪一列发生了变化以及新旧值。 多列可以更改值。 该表有一个字段(上次更改日期)告诉我哪些行已更改,但我不知道发生了什么更改。
有没有办法做到这一点? 我觉得我错过了一些应该很明显的东西。 我正在使用 MS SQL Server 2008 R2。
我设想 output 是这样的:
ID FieldChanged OldValue NewValue 1234 Class 88515 88516 5555 Status A I 6789 Code 321 322
select * from new_data
inner join old_data on new_data.id = old_data.id where (
new_data.column_1 != new_data.column_1 OR
new_data.column_2 != new_data.column_2 OR
--...
new_data.column_N != new_data.column_N OR
)
或者,您可以查询系统表中的列名并根据结果构建查询。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.