【发布时间】:2018-07-03 09:39:28
【问题描述】:
假设我有下表“产品”
id |title|images_missing
13 |shoes| 0
14 |shirt| 0
和另一个表“变体”
id|product_id|color|size|image
1 | 13|red |M |0
2 | 13|red |XL |1
3 | 13|green|M |0
3 | 13|green|S |0
每个产品可以有多种变体(变体由颜色+尺寸定义)。
我需要一个查询来检查每种颜色是否至少有一个具有图像的变体,并且如果至少有一种颜色没有图像(在本例中为绿色),则需要获取第一个表中的产品行缺失图像的值 1。
你能帮我解决这个问题吗?
编辑:
为了让事情更清楚一点,我的目标是更新产品表并将“images_missing”字段设置为 1(= 至少一种颜色根本没有图像)或 0(= 每种颜色至少有一个变体,其中 image = 1)
这意味着:
- 获取 product_id = 13 的所有变体
- 检查是否至少有一个 color=red 的变体具有 image = 1
- 检查是否至少有一个 color=green 的变体具有 image = 1
=>
- 如果 color=red 的变化没有 image = 1,则更新 id 为 13 的产品,设置 missing_images = 1
或
- 如果 color=green 的变化没有 image = 1,则更新 id 为 13 的产品,设置 missing_images = 1
【问题讨论】:
-
同时指定预期结果。并向我们展示您当前的查询尝试。
-
我没有完全按照你的要求。通过向我们展示您的预期输出,您可以澄清您的问题。
-
“variations”的image字段是bool还是int?
-
variations.image 实际上是 int