SQL Обновление с объединением, когда 1 таблица выглядит как дубликаты, но не - PullRequest
0 голосов
/ 26 марта 2020

Я борюсь с объединением между 2 SQL таблицами, где: 1 таблица (OrderItems) содержит 2 разные строки позиций для одного и того же SKU и количества, а другая таблица (DespatchTable) содержит данные о том, какой SKU / Qty был отправлено.

Мне нужно заполнить таблицу Despatch соответствующим номером элемента таблицы OrderItems. Обычно это легко, когда SKU существует только один раз, но, как вы можете видеть из приведенного ниже примера, у меня есть ситуация, когда один и тот же SKU существует на 2 разных строках, поэтому, когда у меня есть только накладная, SKU и Qty, чтобы присоединиться к ней, обновляются оба Записи Despatch.ItemNumber для одного и того же номера элемента - мне нужно, чтобы они были разными (на самом деле не имеет значения, какой номер элемента назначен для какой строки отправки, если они уникальны)

[1]: https://i.stack.imgur.com/LnN1F.png

UPDATE d
SET ItemNumber= oi.ItemNumber
FROM DespatchTable d
    INNER JOIN OrderItems oi
        ON d.ConsignmentNumber = oi.ConsignmentNumber
           AND d.SKU = oi.Sku
           AND d.Quantity = oi.Quantity

Может кто-нибудь предложить лучший подход к этой проблеме, так как я не контролирую данные в обеих таблицах, так что придется работать с тем, что у меня есть. Стоит также отметить, что, хотя я сократил его до 2 строк, всегда есть другие SKU на той же партии.

...