ここに私の最初の投稿。
products テーブルから表示された値を、products_categories テーブル内の値で並べ替えようとしています。
私の製品テーブルには、次のフィールドが含まれています。
id | psku | pname | pdescription
私の products_categories テーブルには次のフィールドがあります。
id | psku | subcategory | orderid
私が構築しているサイトは、いくつかのサブカテゴリを含む小さな e ショップです。今回の設定では、1 つの製品を複数のカテゴリに追加できます。
たとえば、製品 sku# 6001 は、化粧品とまつげの 2 つのサブカテゴリにリストされます。次のように、products_subcategories テーブルに 2 つのエントリがあります。
id | psku | subcategory | orderid
1 | 6001 | cosmetics | 1
2 | 6004 | eyelashes | 1
3 | 6003 | cosmetics | 2
4 | 6011 | cosmetics | 3
5 | 6020 | eyelashes | 2
6 | 6045 | cosmetics | 4
現在、次のクエリを使用して各サブカテゴリのデータを表示しています。
SELECT * FROM products LEFT JOIN products_subcategories
ON products.psku = products_subcategories.psku
WHERE products.psku IN ('6001','6003','6011','6020','6045')
GROUP BY e2o_products_subcategories.psku
ORDER BY e2o_products_subcategories.orderid ASC
これにより、結果が次のように表示されます。
Cosmetics:
PSKU 6001
PSKU 6003
PSKU 6011
PSKU 6045
eyelashes:
PSKU 6004
PSKU 6020
うまくいかないようです。最悪の結果で、他のいくつかの組み合わせを試しました。商品は表示されますが、orderid で並べ替えられません
誰かがこの問題の可能な解決策を持っているでしょうか。必要に応じてサンプルデータを提供できます。
ありがとうございました。