2014-01-15 3 views
0

Я хочу обновить временную таблицу на основе другого набора результатов таблицы.Обновление по другому результату таблицы

Любые предложения. Запрос выбора работает независимо. Но я собираюсь интегрироваться с оператором обновления.

UPDATE #person_membership_promo_ext 
SET note_about= 
(
    select note_text 
    FROM note nt 
    INNER JOIN #person_membership_promo_ext per 
     ON per.person_id=nt.main_ref_id 
     and per.membership_type='P' 
     and note_id=(select MAX(note_id)from note nt_1 
    where nt_1.main_ref_id=per.person_id) 
) 
+0

Переписан запрос, как показано ниже, и он работает. – user3120927

ответ

0
UPDATE per 
SET note_about=nt.note_text 
FROM note nt 
INNER JOIN #person_membership_promo_ext per 
    ON per.person_id=nt.main_ref_id 
    and per.membership_type='P' 
    and note_id=(select MAX(note_id)from note nt_1 
where nt_1.main_ref_id=per.person_id) 
0

Вы можете использовать присоединяется в операторах обновления

UPDATE per 
SET note_about = nt.note_text 
FROM #person_membership_promo_ext per 
INNER JOIN note nt 
    ON per.person_id=nt.main_ref_id 
    and per.membership_type='P' 
    and note_id = (
     select MAX(note_id) 
     from note nt_1 
     where nt_1.main_ref_id = per.person_id 
    ) 
0

Здесь вы идете,

Update per 
set per.note_about = nt.note_text 
FROM note nt 
INNER JOIN #person_membership_promo_ext per 
ON per.person_id=nt.main_ref_id 
and per.membership_type='P' 
and note_id=(select MAX(note_id)from note nt_1 
where nt_1.main_ref_id=per.person_id) 

Я надеюсь, что это поможет!

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