no creo que puedas hacerlo, ya que tendrias que diseñar una consulta sql recursiva.
de todas formas tambien me he visto en esa situacion y lo solucione usando una funcion en PHP:
Código:
function getIds(&$array_id, $idPertenece) {
global $CONN;
array_push($array_id, $idPertenece);
$sql = "
select id
from tabla
where idPertenece = ".strquoted($idPertenece);
$result = mysql_query($sql, $CONN);
while ($row = mysql_fetch_row($result))
getIds($array_id, $row[0]);
}
si no me he equivocado en el codigo, la siguiente funcion:
colocara en el array "$array_id" los siguientes valores:
1, 2, 3, 4
que son los "ids" de pepe y toda su descendencia.
luego lo unico que tienes que hacer es montar la select:
Código:
$sql = "select * from tabla where id in (".implode(",", $array_id).")";