привязка моего подзапроса, где я получаю сумму, к моему основному запросу - PullRequest
0 голосов
/ 18 июня 2020

Мне нужна помощь с привязкой моего подзапроса, в котором я получаю сумму, к моему основному запросу. FundID - это поле, к которому мне нужно привязаться.

Это утверждение, которое я написал, чтобы добавить оставшийся баланс (отрицательное значение) для каждого фонда, но подзапрос возвращает более одного значения. Есть ли способ привязать идентификатор фонда в подзапросе, который извлекает сумму, к идентификатору фонда основного запроса?

update [transaction]
set amount = amount - (select (a.amount + sum(b.amount)) amt
                       from [Transaction] a
                            inner join [transaction] b on a.FundID=b.FundID
                                                     and a.TransactionBatchID=b.TransactionBatchID
                            inner join fund c on a.fundid=c.FundID
                       where a.TransactionBatchID=19253 and a.TransactionTypeID=1308 and a.TransactionCategoryID=82
                        and b.TransactionCategoryID=83 and c.PoolID=78
                       group by a.amount, b.fundid
                       having a.amount * (-1) <> sum(b.amount))
where transactionid=(select max(transactionid)
                     from [transaction]
                     where TransactionBatchID=19253
                       and TransactionTypeID=1308
                       and TransactionCategoryID=83
                     group by fundid)
...