ドロップダウンとスウォッチが混在するオプションを持つすべての 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;