私はしばらく試して検索しましたが、不足しているものはあまりないと思いますが、助けが必要です:
自動作成されたクエリであるため、(左)結合を追加することによってのみクエリを変更できます。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データベースになります