

MySQL入れ子集合モデルで「子から見た親」を出力する方法なのですが、うまくいきません

下記は、categoryを格納しているテーブルです。

![categoryを格納しているテーブルです。](https://i.stack.imgur.com/hcAGY.png)

下記は、子から見た親を出力するクエリです。

[code]

    select node.rgt, concat(repeat(' ', count(parent.category_name) - 1),　node.category_name) as name, node.category_description
    from category as node, category as parent 
    where node.lft between parent.lft and 4
    group by node.category_name order by node.lft;  
    
[/code]

下記は、クエリを実行した結果です。

![画像の説明をここに入力](https://i.stack.imgur.com/dsnfU.png)

実行結果から見ますとうまく言っているのですが、私は実行結果を１行に３列で表示したいです。  
どのように考えればうまくいきますか。ご教授よろしくお願いいたします。


CC BY-SA 3.0
2014-12-25T10:22:35.480
2569
2015-05-09T06:45:21.947
5731
question
mysql
MySQL 入れ子集合モデル、子から見た親を出力する方法


GROUP_CONCAT を使ってみてはいかがですか。

[code]

    select node.rgt, GROUP_CONCAT(node.category_name SEPARATOR ' ') as name ...
    
[/code]

GROUP_CONCAT の内部では DISTINCT や ORDER BY を使うことができます。


CC BY-SA 3.0
2014-12-25T10:54:22.203
2570
2014-12-25T10:54:22.203
2569
answer


入れ子モデルの階層構造データですね。

<http://www.geocities.jp/mickindex/database/db_tree_ns.html>  
このサイトの「2-7．パスを列挙する（列持ちバージョン）」を参照すればうまくいくのではないでしょうか。


CC BY-SA 3.0
2015-01-09T04:35:49.730
4321
2015-01-09T04:35:49.730
500
2569
answer