【发布时间】:2021-02-01 13:33:18
【问题描述】:
我绝对不是 SQL 专业人士。所以请原谅一些错误的假设奇怪的代码等。 我目前正在尝试合并 ebay 市场的所有商品的数量。我已经设法更新了几乎所有项目。但是我确实对一些也位于我们数据库中的特定项目有点麻烦。每个变体项目都有一个(母项目)显示在我们的 ERP 系统中。 这些母项目确实有一个 Variation-ID (0)。其他变体确实具有特定颜色的variation.ids(例如黑色= 1,绿色= 2,等等)。 由于我们的 ERP 系统确实在某些掩码中设置了变化项目的最低数量(对于母项目)来执行触发(修改所有项目),为了防止超卖,我需要用与变异相关的最低数量。
以下陈述
EI.tecdocinfo = lbs.shop 何时匹配且 LBS.shop = '0'
只有我来帮助识别每个项目。它们确实完美无缺。
源表确实有以下重要行: 商品编号、变体 id、数量
using(SELECT *
FROM lbsysstock) AS LBS
ON EI.artikelnummer = lbs.artikelnummer
AND EI.tecdocinfo = lbs.shop
WHEN matched AND LBS.shop = '0' THEN
UPDATE SET EI.quantity = (SELECT Min(verfuegbar) - '1'
FROM lbsysstock
WHERE EI.artikelnummer = LBS.artikelnummer);
我当前的问题是使用子选择查询更新项目的最后一部分。
例如项目编号 100001 确实有 3 个变体(黑色、绿色、蓝色)
| Item number | Item ID | Quantity | Color |
|---|---|---|---|
| 100001 | 0 | 0 | mother item |
| 100001 | 1 | 66 | black |
| 100001 | 2 | 55 | green |
| 100001 | 3 | 77 | blue |
在这种情况下,我需要将绿色项目的数量减去-1。
【问题讨论】:
标签: sql sql-server merge