0

投稿のカテゴリを指定したいカテゴリテーブルが1つあります

post_category(cat_id,cat_name,parent_id,cat_count)

cat_id    cat_name       parent_id       cat_count
   1           C            NULL           300 
   2         Pointers        1             100
   3         Structures      1             200
   4          Java          NULL           700    
   5         Exceptions      5             200
   6         Threading       5             300
   7         Thread Priority 6             200

ここで、cat_id は主キーであり、ルート要素の親 ID は null であり、子の親 ID は任意の有効な cat_id です。各親とその子の詳細を選択したい。次のように

      C
         Pointers
         Structures    

      Java
         Exceptions
         Threading 
             Thread priority 
4

2 に答える 2

1

残念ながら、MySQL は、MS SQL (および Postgres と思いますか?) のように可変数の JOIN をサポートしていません。ただし、スキーマを再評価する意思がある場合は、この問題についていくつかの良い考えがあり、Percona の Bill Karwin によるこのプレゼンテーションにはいくつかの適切なオプションがあります。

現状では、基本的に 2 つのオプションがあります。

  1. クエリする任意の深さを選択してください
  2. すべての単一のレコードを選択し、アプリケーション層で集計を行います (ick!)
于 2012-09-06T14:23:31.717 に答える
0

MS SQLでは、共通テーブル式を使用した再帰クエリを使用する必要があると思います。したがって、おそらくそれは、MySQLスペースで探しているものを見つけるのに役立つかもしれません。

于 2012-09-06T14:18:41.140 に答える