0

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

1 に答える 1

0

これを試して:

SELECT a.*,b.sku
FROM sku_parent_attributes AS a
INNER JOIN
sku_parent_attributes as b
ON a.sku = b.sku
GROUP BY b.sku
HAVING COUNT(b.sku) = 3

サブクエリ内だけでなく、完全なクエリ内の where 条件。

于 2013-04-01T16:58:39.217 に答える