Выбрать из таблицы аудита

У меня есть следующая таблица

column1 column2 newvalue oldvalue

в столбцах newvalue oldvalue — значения (внешние ключи) из другой таблицы. Мне нужно отобразить другой столбец из ссылочной таблицы (т.е. на основе первичных ключей). Таким образом, при выборе вместо нового значения в качестве некоторого ключа будет отображаться некоторый столбец, соответствующий ключам. Я здесь новичок, поэтому, если вы хотите уточнить мой вопрос, я это сделаю. Заранее спасибо.

Изменить: в первой таблице есть столбцы entityID (из проверенной таблицы), columnName, OldValue, NewValue.

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

В первой таблице в столбцах новое значение, старое значение - это ПК из второй таблицы. Мне нужно вывести например oldstreet, new street.


person Maerorek    schedule 05.04.2013    source источник
comment
пожалуйста, добавьте соответствующие таблицы. если возможно, также включите столбцы.   -  person John Woo    schedule 05.04.2013


Ответы (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 Вот ССЫЛКА

person ljh    schedule 05.04.2013