2011-05-18 63 views
0

我一直在工作與Joomla 1.6,我需要使用一個表的同一列兩次:動態創建行的MySql

有類別,每個類別可以有子類別。

另一個表

我有指向類的ID,所以後來我創建一個連接與「標題」(類別的描述)

更換ID比方說,我有這樣幾種:

- PARENT1 
    * SUB1 
    * SUB2 

- PARENT2 
    * SUB1 
    * SUB2 

TABLE CATEGORIES: 
    id  |  title  |  parent_id  
-------------------------------------------- 
    0  |  ROOT  |  NULL 
    1  |  PARENT1 |   0 
    2  |  SUB1  |   1 
    3  |  SUB2  |   1 
    4  |  PARENT2 |   0 
    5  |  SUB1  |   4 
    6  |  SUB2  |   4 
-------------------------------------------- 

TABLE DATA: 
    id  |  name  |  cat_id 
-------------------------------------------- 
    0  | p1_sub1 |   2 
    1  | p1_sub1 |   2 
    2  | p1_sub2 |   3 
    3  | p2_sub1 |   5 
    4  | p2_sub2 |   6 
    5  | p1_sub2 |   3 
    6  | p2_sub2 |   6 
-------------------------------------------- 

,所以我用這個查詢得到的CAT_ID相應標題:

SELECT data.name, cat.title FROM table_data AS data 
LEFT JOIN table_categories AS cat ON data.cat_id = cat.id 

能正常工作,但現在我也想獲得titleparent category

TABLE RESULT: 
    name |  title  |  parent_title  
-------------------------------------------- 
    p1_sub1 |  SUB1  |  :S 
-------------------------------------------- 

我的意思是,要做到這一點,我應該再拍加入cat.parent_id = cat.id,但我需要另一個title列添加到查詢,以便...

任何想法????

THNX !!!

回答

0

這應該工作:

SELECT data.name AS name, cat.title AS title, cat2.title AS parent_title 
FROM table_data AS data 
     LEFT JOIN table_categories AS cat ON data.cat_id = cat.id 
     LEFT JOIN table_categories AS cat2 ON cat.parent_id = cat2.id 
+0

我來試試!TY! – 2011-05-18 16:19:42