sql >> データベース >  >> RDS >> Mysql

MySQLに保存されているカテゴリのブレッドクラムを生成する

    マテリアライズドパス> これは基本的にブレッドクラムトレイルを含み、再帰クエリを使用せずにノードのすべての子孫を選択するなどの操作を簡単にするためです。

    マテリアライズドパスモデル

    マテリアライズドパスモデルの考え方は、階層内の各ノードをツリー内のその位置にリンクすることです。これは、すべてのノードの祖先の連結リストを使用して行われます。このリストは通常​​、区切られた文字列で保存されます。以下の「Linage」フィールドに注意してください。 CAT_ID NAME CAT_PARENT Lineage 1 Home . 2 product 1 .1 3 CD’s 2 .1.2 4 LP’s 2 .1.2 5 Artists 1 .1 6 Genre 5 .1. 5 7 R&B 6 .1. 5.6 8 Rock 6 .1. 5.6 9 About Us 1 .1

    テーブルの移動

    Select lpad('-',length(t1.lineage))||t1.name listing
    From category t1, category t2
    Where t1.lineage like t2.lineage ||'%'
        And t2.name = 'Home';
    Order by t1.lineage;
    

    リスト

    Home
    -product
    –CD’s
    –LP’s
    -Artists
    –Genre
    —R&B
    —Rock
    -About Us
    


    1. ELSEステートメントがmySqlで機能する場合、なぜ単純にならないのですか?

    2. SQLエラー:1054、SQLState:42S22「フィールドリスト」エラーの不明な列Java SpringBootMysqlエラー

    3. ローカルデータベース(Mysql)をリモートデータベース(phpmyadmin)に複製します

    4. MySQL構文エラー:1行目の「1」の近く