我一直在使用joomla 1.6,我需要使用两次表的相同列:
有类别,每个类别都可以有子类别。
在另一个表中我有一个指向该类别的id,所以然后我创建一个JOIN以用'title'替换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
这很好用,但现在我还要从title
获取parent category
:
TABLE RESULT:
name | title | parent_title
--------------------------------------------
p1_sub1 | SUB1 | :S
--------------------------------------------
我的意思是,要执行此操作,我应该再次加入cat.parent_id = cat.id
,但我需要在查询中添加另一个title
列,以便......
任何想法????
日Thnx !!!
答案 0 :(得分: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