Espero que el título sea claro. Si no lo es, por favor cámbielo.
Tengo una tabla que se ve así:
Me gustaría crear una consulta de selección, donde si el gid está en cualquier lugar de la columna ancestor, seleccionar el nivel máximo de estas filas. Por ejemplo: El gid 727 está cuatro veces en la columna ancestor. El nivel máximo de estas filas es 3, por lo que el valor en la nueva columna, digamos nivel_a, donde el gid es 727, será 3. Para el gid 725 lo mismo, pero para el gid 717 será 0.
Intenté usar unnest, join, subconsulta pero nada funcionó. He leído sobre join lateral pero no tengo idea de cómo podría usarlo.
Estoy usando PostgreSQL 10 con PostGIS 2.5.2