0
私は初心者です。parent_idに基づいて再帰的なクエリを実装しようとしています。mysql select recursive parent id error 'where句'の不明な列
表は次のとおりです:
create table department (id int, name varchar(100), id_parent int null);
insert into department values (1, 'DEPARTMENT 1', NULL);
insert into department values (2, 'DEPARTMENT 2', 1);
insert into department values (3, 'DEPARTMENT 3', 2);
insert into department values (4, 'DEPARTMENT ABCD', 3);
insert into department values (5, 'DEPARTMENT X', NULL);
insert into department values (6, 'DEPARTMENT Y', 5);
insert into department values (7, 'DEPARTMENT Z', 6);
insert into department values (8, 'DEPARTMENT AB', 7);
とクエリ:
は私が古いの答えで良い働いた例を発見した
SELECT D2.id, D2.name, D2.id_parent
FROM (
SELECT
@d AS _id,
(SELECT @d := id_parent FROM department WHERE id = _id) AS id_parent,
@l := @l + 1 AS level
FROM
(SELECT
@d := (select id from department where name like 'DEPARTMENT AB'),
@l := 0
) initial_level,
department D
WHERE @d <> 0
) D1
JOIN department D2 ON D1._id = D2.id
ORDER BY D1.level DESC;
私が選択したことを例そのため、ここにデモのデモがあります: http://sqlfiddle.com/#!9/f182fb/4
問題: だから、オンラインでsqlfiddleその作業良いが、私はこのエラーました、私のPCでそれらを試してみました場合:で 不明な列「_id」「をwhere句」
私はMYSQL5でWAMP上で実行されています.7.9