2010-12-02 8 views
0

私は非常に弱いので、どのように私は次のクエリを結合を使用して変換することができます知っている必要があります。このクエリは、サブクエリで正常に動作していますが、私はそれを変換し、それを使用して結合する必要があります。UPDATEクエリでJOINを使用する方法

update dbo.TFIN_Stmt_Line_Item_Dtl 
set Stmt_Line_Item_Dtl_Desc='Changes from Baseline' 
where Stmt_Line_Item_Dtl_Desc='Increased Hours' 
and Stmt_Line_Item_Id 
in (select tmt_Line_Item_Ref_Id 
    from dbo.TFIN_Stmt_Line_Item 
    where Stmt_Line_Item_Type_Id = 
     (select Stmt_Line_Item_Type_Id 
     from dbo.TFIN_Stmt_Line_Item_Type 
     where Stmt_Line_Item_Desc like 'ABOX/RBOX Amendment 18 and 20')) 

体があれば助けてください。

+0

を見てすることができますクエリプランを投稿できることができます英語タイトル下さい –

+1

@Daniel:これは私のせいで、間違ったレイアウトが使用された私はすでにトピックを編集しました。あなたのコメントを削除してください。 – abatishchev

+0

見出しについては何がうまくいったのですか?私はちょうど望んでいたが、私はどのように私はこのクエリを結合を使用して変換することができます –

答えて

3

次のクエリが使用する

おかげで、あなたのテーブルを更新するために参加したが、それは速いだろう場合は、見られることを残ります。

あなたは私たちがその

update dbo.TFIN_Stmt_Line_Item_Dtl 
set  Stmt_Line_Item_Dtl_Desc = 'Changes from Baseline' 
from dbo.TFIN_Stmt_Line_Item_Dtl dtl 
     inner join dbo.TFIN_Stmt_Line_Item li on li.tmt_Line_Item_Ref_Id = dtl.Stmt_Line_Item_Id 
     inner join dbo.TFIN_Stmt_Line_Item_Type lit on lit.Stmt_Line_Item_Type_Id = li.Stmt_Line_Item_Type_Id 
where dtl.Stmt_Line_Item_Dtl_Desc='Increased Hours' 
     and lit.Stmt_Line_Item_Desc like 'ABOX/RBOX Amendment 18 and 20' 
1
update dbo.TFIN_Stmt_Line_Item_Dtl 
set Stmt_Line_Item_Dtl_Desc='Changes from Baseline' 
where Stmt_Line_Item_Dtl_Desc='Increased Hours' 
and Stmt_Line_Item_Id 
in (select tmt_Line_Item_Ref_Id 
    from dbo.TFIN_Stmt_Line_Item Item 
    JOIN dbo.TFIN_Stmt_Line_Item_Type Type 
    on Type.Stmt_Line_Item_Type_Id = Item.Stmt_Line_Item_Type_Id 
    and Type.Stmt_Line_Item_Desc like 'ABOX/RBOX Amendment 18 and 20') 

または

update dbo.TFIN_Stmt_Line_Item_Dtl 
set Stmt_Line_Item_Dtl_Desc = 'Changes from Baseline' 
from dbo.TFIN_Stmt_Line_Item_Dtl Detail 
JOIN dbo.TFIN_Stmt_Line_Item Item 
on Item.tmt_Line_Item_Ref_Id = Detail.Stmt_Line_Item_Id 
JOIN dbo.TFIN_Stmt_Line_Item_Type Type 
on Type.Stmt_Line_Item_Type_Id = Item.Stmt_Line_Item_Type_Id 
and Type.Stmt_Line_Item_Desc like 'ABOX/RBOX Amendment 18 and 20') 
where Detail.Stmt_Line_Item_Dtl_Desc = 'Increased Hours' 
関連する問題