Ver Mensaje Individual
  #8 (permalink)  
Antiguo 11/05/2009, 22:01
Avatar de huesos52
huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 10 meses
Puntos: 360
Respuesta: COnsulta a tabla autorelacionada

Que tal amj

Debes tener en cuenta que si usas nodos y consultas jerarquicas, estas tienen formas de acceso a nivel de consulta.

Prueba esto:

Código sql:
Ver original
  1. SELECT p.pais_id,p.pais_name,d.region_id,d.region_name,c.extension,c2.extension FROM
  2. pais p
  3. FULL JOIN region d ON d.reg_pais = p.pais_id
  4. FULL JOIN campo c ON c.region = d.region_id
  5. FULL JOIN (SELECT *FROM campo START WITH parent IS NOT NULL CONNECT BY prior campo_id=parent) c2
  6. ON c2.parent >= c.campo_id
  7. WHERE p.pais_enabled = 1 GROUP BY
  8. p.pais_id,p.pais_name,d.region_id,d.region_name,c.extension,c2.extension
  9. ORDER BY 1;

La parte esencial de la consulta, es establecer el full join con el resultado de los nodos.
Con las clausulas start with y connect by puedes acceder al valor de los nodos pertenecientes al nodo raiz.

Te dejo un poco de información:
http://www.adp-gmbh.ch/ora/sql/connect_by.html


Por cierto, cambié un poco los campos. ten cuidado con eso.


Espero te sirva.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming