Вам нужно добавить более подробную информацию к логике, которую вы ищете. Я считаю, что вы пытаетесь рассказать о клиенте.
EDIT: Добавлена инструкция по обновлению и использование таблицы cte, а не temp.
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