从审计表中选择

时间:2013-04-05 06:29:24

标签: sql database sql-server-2008-r2 audit-tables

我有下表

column1 column2 newvalue oldvalue
列中的

newvalue oldvalue是来自其他表的值(外键)。我需要显示引用表中的其他一些列(即基于主键)。所以在select而不是newvalue中,因为某些键会显示一些与键相对应的列。我是新来的,所以如果你想更多地澄清我的问题,我会做的。 提前谢谢。

修改 第一个表是列 entityID(来自审计表),columnName,OldValue,NewValue

第二张表 AddressId,city,street,ZIPCode。

在colmns newvalue的第一个表中,oldvalue是来自第二个表的PK。我需要显示例如oldstreet,new street。

1 个答案:

答案 0 :(得分:1)

您需要的是JOIN个表格。有不同类型的JOIN,对于您需要使用INNER JOIN的情况,原因是列newvalue和列oldvalue是外键。您可以加入两个表,如下面的示例:


select column1, column2,
       B.newcolumn1, -- from table B
       c.newcolumn2,  -- from table C
FROM tableA A
inner join tableB B
   on A.newvalue = B.newvalue -- join on FK = PK
inner join tableC C
  on A.oldvalue = c.oldvalue 

您可以谷歌如何使用JOIN这是LINK