2014-01-06 17 views
-3

我有三个表,并试图获得下面列出页面的类别名称。这里是我的表看起来像列出类别下的页面

TABLE page 
id_page | id_category 
    1   1    
    2   1 
    3   1 
    4   2 
    5   2 
    6   2   

TABLE page_category 
id_category | name 
    1   Category 1 
    2   Category 2 

TABLE page_lang 
id_page | title | content 
    1  Page 1 content 
    2  Page 2 content 
    3  Page 3 content 
    4  Page 4 content 
    5  Page 5 content 
    6  Page 6 content 

我怎么会得到这个在页面上显示像这样?我不得不使用的模板是使用聪明人的tpl。

Category 1 
Page1 
Page2 
Page3 

Category 2 
Page 4 
Page 5 
Page 6 
+2

你能证明你到目前为止所做的尝试吗? –

+0

我已经尝试创建一个使用类别标题作为关键字与其下的每个页面的数组,但无法让它正常工作。我已经尝试了像下面这样的group_concat,但是当试图将它输出到smarty时,它并不合作。 –

回答

1

您可以使用group_concat来逗号分隔每个类别的图块。

select c.name, group_concat(l.title) 
from page_category c 
inner join page p on p.id_category = c.id_category 
inner join page_lang l on l.id_page = cp.id_page 
group by c.name 
相关问题