2

「在庫」というテーブルがあります。

    在庫 ID | prod_id | サイズ | 色 | ショップ ID | 数量

    1 | 4 | 中 | 赤 | 赤 | 1 | 3
    2 | 4 | XL | ブルー | ブルー | 2 | 1
    3 | 4 | 中 | 赤 | 赤 | 3 | 2
    4 | 2 | XXL | ホワイト | 1 | 7
    5 | 4 | 中 | 赤 | 赤 | 4 | 1

そのいくつか..

商品テーブルとショップテーブルがあります。

結果として私が欲しいのはそのようなものです:

    prod_id | prod_name | ショップ名 | color_size_qty
       4 | Tシャツ | ショップ 1 | レッド,L,(3)
       2 | Tシャツ | ショップ 1 | ホワイト、XXL、(7)
       4 | Tシャツ | ショップ 2 | ブルー、XL、(1)

あなたが私を理解できるかどうかわかりません。私が得た最も近いものは次のようなものでした

prod id | prod_name |        Colors         |     sizes   |
   4    | T-Shirt   |Red,Red,Red,Blue,White | L,L,L,XL,XL  

ご覧のとおり、近くにもありません。あなたが私を助けてくれることを願っています。

4

1 に答える 1

5

a とは対照的に、 simpleだけで十分なCONCAT()場合がありますGROUP_CONCAT()

SELECT
    prod_id, prod_name, shop_name,
    CONCAT(color, ',', size, ', (', qty, ')') AS color_size_qty
FROM
    stock
    JOIN products ON stock.prod_id=products.id
    JOIN shops ON stock.shop_id=shops.id
ORDER BY
    prod_name ASC, shop_name ASC
于 2012-07-13T19:44:59.537 に答える