あなたが探しているロジックに詳細を追加する必要があります。私はあなたが顧客に基づいて関連を試みていると信じています。
EDIT:更新文を追加し、一時表ではなくcteを使用しました。
Create Table #Purchases (ID Int, CustomerID Int, PurchaseTypeID Int)
Insert #Purchases Values (1987, 1, 209)
Insert #Purchases Values (32875, 1, 2)
Insert #Purchases Values (628900, 3, 220)
Insert #Purchases Values (449000, 3, 30)
Insert #Purchases Values (4560, 3, 209)
Insert #Purchases Values (8008, 3, 2)
Insert #Purchases Values (9856, 3, 5)
Insert #Purchases Values (6000, 1, 5)
Create Table #Transactions (TransactionID Int, PurchaseID Int, PurchaseIDForwardTo Int)
Insert #Transactions Values (1, 1987, 32875)
Insert #Transactions Values (2, 628900, 8008)
Insert #Transactions Values (3, 449000, 8008)
Insert #Transactions Values (4, 4560, 8008)
Select * From #Purchases
Select * From #Transactions
;With ctePurchasesTransactions As
(
Select *
From #Purchases P
Join #Transactions T On T.PurchaseID = P.ID
)
Update T Set T.PurchaseIDForwardTo = P.ID
From #Transactions T
Join ctePurchasesTransactions PT On PT.TransactionID = T.TransactionID
Join #Purchases P On P.CustomerID = PT.CustomerID And P.PurchaseTypeID = 5
Select * From #Transactions
尋ねると、より高速なヘルプを表示する方法についてここを見て、いくつかのDDL、DMLを追加してくださいます。https://spaghettidba.com/2015/04/24/how-to-post-at-sql-question- on-a-public-forum/ – TheGameiswar
申し訳ありません。ここでは、より良いスクリーンショットです。 @TheGameiswar –
私はペーストしたリンクを読んでください。良い質問には、それがとても基本的ですが、特典があります。 – TheGameiswar