2015-10-12 2 views
0

У меня есть 3 таблицы:Обновление идентификаторов из 2 разных таблиц в SQL Server

  • t1: идентификатор, m_id, дата
  • t2: p_id, p_code
  • t3: P_ID, p_code, event_id

Как обновить идентификаторы в t1?

where id in (select p_id from t2 inner join t3 on t2.p_code = t3.p_code) 
+0

Вы должны иметь некоторый контекст для подключения результирующих значений p_id из вашего запроса к записи в t1. –

+0

выберите id из t1, где id (выберите p_id из t2 внутреннего соединения t3 на t2.p_code = t3.p_code). Так как идентификаторы связаны с другими двумя таблицами t2 nd t3 – user3183055

+0

Что вы собираетесь обновлять идентификаторы в t1? Вы имеете в виду «ids» как «m_id»? – jhmt

ответ

0
UPDATE t1 
SET id = (SELECT TOP 1 t2.p_id 
      FROM t2 INNER JOIN t3 
      WHERE t2.p_code = t3.p_code) 
WHERE <conditon> -- choose rows to update 
Смежные вопросы