1

私はしばらく試して検索しましたが、不足しているものはあまりないと思いますが、助けが必要です:

自動作成されたクエリであるため、(左)結合を追加することによってのみクエリを変更できます。SELECT * FROM question q LEFT JOIN ...

ここで、すべての質問(質問にはカテゴリID(q.category)があります)をcategory-pathに接続する必要がある部分(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