2014-01-15 37 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语句

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) 

我希望这将有助于!

相关问题