1

我已经尝试并搜索了一段时间,我认为没有太多遗漏,但我需要帮助:

我只能通过添加(左)连接来修改查询,因为它是自动创建的查询所以它的开头是SELECT * FROM question q LEFT JOIN ...

现在是应该将每个问题(问题有一个类别 id (q.category))与类别路径连接起来的部分(如果在 php 中选择):

LEFT JOIN (
SELECT GROUP_CONCAT(cn.name SEPARATOR ' >> ') AS categorypath
FROM    (
        SELECT  _id AS id, parent,
                @cl := @cl + 1 AS level
        FROM    (
                SELECT  @r AS _id,
                        (
                        SELECT  @r := parent
                        FROM    categories
                        WHERE   id = _id
                        ) AS parent,
                        @l := @l + 1 AS level
                FROM    (
                        SELECT  @r := q.category,
                                @l := 0,
                                @cl := 0
                        ) vars,
                        categories qct
                WHERE   @r <> 0
                ORDER BY
                        level DESC
                ) qi
        ) cp
LEFT JOIN categories AS cn ON cp.id = cn.id
) ON q.category = ...(dont know)

因此,如果我在查询中间为“q.category”填充一个值,那么这部分就没有第一个左连接工作。(例如@r := 8)但我需要它作为连接表的每个问题......

谢谢

编辑:使用的数据库将是 MySQL 数据库

4

0 回答 0