1

我有下表

column1 column2 newvalue oldvalue

在列中 newvalue oldvalue 是来自其他表的值(外键)。我需要显示引用表中的其他列(即基于主键)。因此,在 select 而不是 newvalue 中,某些键将显示一些与键对应的列。我是新来的,所以如果您想进一步澄清我的问题,我会这样做。提前致谢。

编辑: 在第一个表中是列 entityID(来自审核表)、columnName、OldValue、NewValue

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

在 colmns newvalue 的第一个表中,oldvalue 是来自第二个表的 PK。我需要显示例如老街、新街。

4

1 回答 1

1

你需要的是把JOIN桌子放在一起。有不同类型的 JOIN,对于您需要使用的情况INNER JOIN,原因是 columnnewvalue和 columnoldvalue是外键。您可以连接两个表,如以下示例:


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这是一个链接

于 2013-04-05T06:49:56.783 回答