Обновление столбца в SQL Server с разницей в значении одного столбца в другой таблице - PullRequest
0 голосов
/ 20 сентября 2019

У меня есть две таблицы в SQL Server, например:

Таблица 1

enter image description here

Таблица 2

enter image description here

Мне нужно обновить столбец Pending qty в таблице 1, вычтя из него значение столбца Invoice qty.

После обновления моя таблица 1 должна выглядеть следующим образом:

enter image description here

Как мне этого добиться?

Спасибо

Ответы [ 2 ]

3 голосов
/ 20 сентября 2019

Возможно, вам понадобится объединить обе таблицы, используя INNER JOIN

UPDATE t1
SET t1.PendingQty =  t1.t1.PendingQty - t2.Invoice.Qty
FROM Table1 t1
INNER JOIN Table2 t2 ON t1.PONumber = t2.PONumber
1 голос
/ 20 сентября 2019

Примерно так:

UPDATE t1
    SET t1.[Pending qty] -= ISNULL((SELECT SUM(t2.[Invoice qty])
                                    FROM Table2 AS t2
                                    WHERE t1.[PO Number] = t2.[PO Number]
                                    AND t1.[Part number] = t2.[Part number]), 0);
FROM Table1 AS t1;

Я предполагал, что может быть несколько строк счета-фактуры для каждой ожидающей строки таблицы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...