Ver Mensaje Individual
  #3 (permalink)  
Antiguo 27/07/2010, 03:17
jurena
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: Consulta a dos columnas

Creo que buscas hacer una consulta sobre una base en alguna medida jerárquica, para lo cual debes hacer self-join, es decir, unir la tabla consigo misma. Mira esto. Lo he hecho sobre un supuesto de tres niveles, pero si puede llegar hasta 10 tendrás que hacerlo hasta t10. Como el orden en que se almacenan los datos y la propia unión se corta cuando aparece el NULL, no creo que sea necesario hacer nada más. He llamado a tu tabla tabla y al campo Nº PARTE NPARTE para evitar tener que escribir `Nº PARTE`. Puedes buscar cualquiera de los NPARTE y te encontrará todos los niveles.

SELECT t1.NPARTE, t2.NPARTE, t3.NPARTE FROM `tabla` t1 LEFT JOIN tabla t2 ON t1.CAMBIA = t2.NPARTE LEFT JOIN tabla t3 ON t2.CAMBIA = t3.NPARTE WHERE (t1.NPARTE ="30-62699" OR t2.NPARTE = "30-62699" OR t3.NPARTE = "30-62699")

Última edición por jurena; 27/07/2010 a las 03:52