繁体   English   中英

查询具有更改值和新值的列的名称

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM