すべての親ノードを取得するときに変数を使用して、私は次のクエリ使用して選択して、各カテゴリのすべての親カテゴリを取得してみてください。私はこのような何かを得ることを期待再帰的
select @c := c.id_category,c.id_parent,
(SELECT
GROUP_CONCAT(@r := (
SELECT c1.id_parent
FROM ps_category c1
WHERE c1.id_category = @r
)) AS parent
FROM (
SELECT @r := @c
) vars,
ps_category c2
where @r<>0) p
from ps_category c
join (select @c:=0) tmp
を: id_category_id; id_parent; p 1; 0; 0 2; 1; 1,0 3; 1; 1,0 4; 2; 2,1,0 ...
をそれが何かではないようです@r
と@c
の初期設定で作業していますが、間違っていますか?
を整理しました、それは多くの方が良いだろう。 – Shadow
@ Shadow私は私の答えを更新しました。そして同じことを説明しよう。 –
@c値が使用される内部クエリは、from句ではなくselectリストにあります。このようにして、@ cは常に0に設定されます。これは、OPに必要なものではないようです。 – Shadow