Ciao,
vorrei eliminare un campo dal result set, ovvero il campo b.lev nella query seguente:
Codice PHP:
SELECT
a.category_id, a.name, a.lft, a.rgt, COUNT(c.name) AS depth,
b.lev
FROM
nested_category AS a,
(
SELECT
x.category_id, x.name, x.lft, x.rgt, COUNT(y.name) AS lev
FROM
nested_category AS x,
nested_category AS y
WHERE
x.lft BETWEEN y.lft AND y.rgt
AND x.category_id = 6
GROUP BY x.name
) AS b,
nested_category AS c
WHERE
(
a.lft BETWEEN b.lft AND b.rgt
OR (
a.lft < b.lft AND a.rgt > b.rgt
)
) AND (
a.lft BETWEEN c.lft AND c.rgt
)
GROUP BY a.name
HAVING depth < b.lev + 2
ORDER BY a.lft
Se il campo lev non viene definito nella SELECT principale non è accessibile dalla HAVING clause, sebbene sia definito con l'apposito alias lev nella subquery.
Esiste un modo per eliminarlo dal result set pur mantenendo la condizione depth < b.lev - 2?
(La tabella di riferimento è questa: http://dev.mysql.com/tech-resources/...ical-data.html).