Table1 と Table2 の 2 つのテーブルがあります。これらのテーブル間の共通列は CustId です。テーブル 1 には 1 つの CustId の複数のレコードが含まれていますが、マスター テーブルである table2 には、関連するすべての顧客情報を含む Custid のレコードが 1 つだけ含まれています。
私がやりたいことは、table1 の最近変更されたレコードで table2 を更新することです。
マスターテーブルには複数のレコードがあるため、クエリをループで実行したいと考えています。
私は次のように書いています。
update Table1
set
Table1.col1=b.col1,
Table1.col2 = b.col2,
Table1.col3 = case
when b.col3 = (select Id from table4 where name = 'Not Listed')
then b.col4
else b.col3
end,
Table1.col4 = case
when b.col5 in (select Id from table5 where name = 'Not Listed')
then b.col6
else b.col5
end
from
(select top 1 Table2.*
from Table2,Table1 where
Table2.CustId = Table1.CustId
Order by
Table2.modifiedon desc )b
where Table1.CustId = b.CustId
しかし、table2 のすべてのレコードに対して実行されるかどうかはわかりません。
Plsヘルプ