【发布时间】:2017-06-09 05:53:09
【问题描述】:
对于满足以下条件的商品记录,我需要一个 sql 来将 price 列更新为 999:
- 两条记录的 ITEM 位置不应为空。
- 将价格更新为 999,其中 2 条记录之一的位置为空。
输出表样本
ID 位置 项目价格 1 空 101 999 2 123 101 0 3 空 102 0 4 空 102 0 5 124 103 0 6 空 103 999【问题讨论】:
-
我已经发布了答案。 (不得不更新它,因为我两次混淆了位置和价格。)顺便说一句,你的实际问题是什么不清楚。如您所见,该声明相当直截了当。下次展示您的更新声明并告诉我们您遇到的问题。
-
请发布您尝试过的查询/方法。不要发布我需要查询的内容。
-
我使用了以下查询,但它只更新了第一个 id 记录为空的集合:UPDATE SAMPLE SAMP2 SET SAMP2.PRICE=999 WHERE SAMP2.ID IN (SELECT SAMP2.ID FROM SAMPLE SAMP1 JOIN SAMP1.ITEM=SAMP2.ITEM 上的 SAMPLE SAMP2,其中 SAMP1.SLOT_ID 不为空且 SAMP2.SLOT_ID 为空)