2013-04-05 5 views
1

я следующая таблицейВыбрать из таблицы аудита

column1 column2 newvalue oldvalue 

в колонках NEWVALUE OldValue являются значением (внешние ключи) из другой таблицы. Мне нужно отобразить другой столбец из ссылочной таблицы (т. Е. На основе первичных ключей). Таким образом, в select вместо newvalue, когда в каком-то ключе будет отображаться некоторый столбец, который соответствует ключам. Я новичок здесь, поэтому, если вы хотите уточнить мой вопрос, я сделаю это. Спасибо заранее.

Edit: В первой таблице столбцы EntityId (от проверяемого стола), ColumnName, OldValue, NewValue

второй стол AddressID, город, улица, почтовый индекс.

В первой таблице в новом номере colmns, oldvalue являются PKs со второй таблицы. Мне нужен дисплей, например, oldstreet, новая улица.

+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 

Вы можете Google, как использовать JOIN Вот это LINK

+0

Спасибо, он работает. – Maerorek

+0

@Maerorek, добро пожаловать. – ljh

Смежные вопросы