
27/07/2010, 03:17
|
Colaborador | | Fecha de Ingreso: marzo-2008 Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 10 meses 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 |