2012-09-06 18 views
0

在這裏我想給上崗查詢selectiong父母,我有一個類別表子

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是主鍵, root elenemts的父id爲null,而child parent id爲任何有效的cat_id。 我想選擇每個家長及其孩子的詳細信息。如下所示

 C 
     Pointers 
     Structures  

     Java 
     Exceptions 
     Threading 
      Thread priority 
+0

你有沒有考慮在[組嵌套模式(HTTP(益!)://www.fliquidstudios。 COM/2008/12/23 /嵌套設置在-MySQL的/)?如果你的樹變得更深,這可能是值得的。 (你現在如何訂購兄弟姐妹?) – DCoder

+0

@DCoder嵌套級別只有2 – xrcwrn

+0

你應該去一些服務器端編碼也與Mysql一起。 – Kalpesh

回答

1

不幸的是,MySQL不支持可變數量的JOIN,因爲MS SQL(以及我認爲Postgres?)的做法。但是,如果你願意重新評估的模式,出現了對此事的一些好的想法,有幾個不錯的選項this presentation by Bill Karwin at Percona

既然這樣,你有兩個基本選擇:

  1. 選擇任意深度查詢到
  2. 選擇每一個記錄,並做了聚集在你的應用層
相關問題