我正在尝试编写一个查询,该查询将找到我们所有具有下拉和样本混合选项的 sku。
我们有一个存储此信息的表,但设置有点奇怪。对我来说很重要的专栏是。
-------------------------------------------
sku | option_flag | swatch_flag | sequence
-------------------------------------------
sku 可能有多个重复记录,因为其他列会根据 sku 的设置方式而变化。
我的预期结果是这样的。
-------------------------------------------
sku | option_flag | swatch_flag | sequence
-------------------------------------------
aa001 | YES | NO | 1
-------------------------------------------
aa001 | YES | YES | 2
-------------------------------------------
aa001 | YES | NO | 3
-------------------------------------------
到目前为止,我有这个,它是按 sku 分组的,但它仍然不包括 option_flag。也许不是按 sku 分组,有没有办法要求按 1 2 3 - 1 2 3 等顺序对其进行排序。
SELECT a.*
FROM sku_parent_attributes AS a
INNER JOIN
(SELECT sku
FROM sku_parent_attributes
WHERE option_flag = 'yes'
GROUP BY sku
HAVING COUNT(sku) = 3) AS b
ON a.sku = b.sku;