PHP MySQL层次结构数据group_concat

时间:2013-04-25 11:14:29

标签: mysql group-concat

任何帮助都会令人惊叹。目前有以下MySQL查询:

SELECT 
  GROUP_CONCAT( sp.`slug` SEPARATOR  '/' ) 
FROM  
  `category` sn,  `category` sp 
WHERE 
  sn.lft BETWEEN sp.`lft` AND sp.`rgt` 
  AND sn.`id` =3 
ORDER BY 
  sp.`lft` ASC;

如果没有group_concat函数,则会以正确的顺序返回所需的结果。一旦我申请group_contact,订单就会被混淆并且不正确。有谁知道如何重写查询以获得所需的连接结果并以正确的顺序?

我对此感到茫然。在旁注中有没有人知道如何使用“内部联接”语句重写它,而不是彼此旁边引用的两个表名称,因为我不理解它如何加入两个表。

1 个答案:

答案 0 :(得分:0)

试试这个:

SELECT 
  GROUP_CONCAT( sp.`slug` ORDER BY  sp.`lft` ASC SEPARATOR  '/' ) 
FROM  
  `category` sn,
INNER JOIN  `category` sp 
  ON sn.lft BETWEEN sp.`lft` AND sp.`rgt`
WHERE    
  sn.`id` =3