Ver Mensaje Individual
  #4 (permalink)  
Antiguo 04/12/2009, 09:53
Avatar de gnzsoloyo
gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Problema con select dentro de otro

Si, se entiende, pero lamentablemente eso no se hace por medio de consultas, sino por medio de las aplicaciones.

En esencia estás queriendo convertir cada línea devuelta en la subconsulta en dos columnas.... Ese tipo de reportes (que usan una funcionalidad que no pertenece al SQL denominada en SQL Server PIVOT), son los que se hacen cuando se usa OLAP, pero en ese caso hay un límite dado a la cantidad de columnas devueltas (que generalmente es un numero fijo), por lo que se puede hacer una rutina que te lo realice.
Este no es el caso. Lo que estás proponiendo es una consulta que te lo devuelva creando las columnas en forma dinámica, y eso no se puede realizar, porque eventualmente se generaría un loop infinito (el algoritmo no se puede planear), o como minino excederías la cantidad de columnas admisibles por tabla...
Una solución alternativa requiere de realizar una consulta por cada item que se requiera, pero esto hace que la consulta también deba construirse dinámicamente, o bien que se conozca de antemano la cantidad de columnas a usar... con lo que caemos en el caso anterior.

Aquí tienes un caso de resolución: MySQL/Pivot table

No creo que le encuentres una solución que te sirva sin utilizar programación de aplicaciones.

No es la primera vez que alguno consulta por un caso así. Cada tanto tiempo aparece alguien
con esta duda, y hasta ahora no ha habido una solución satisfactoria.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)