Ver Mensaje Individual
  #7 (permalink)  
Antiguo 04/07/2009, 16:52
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: 17 años, 3 meses
Puntos: 2658
Respuesta: Cómo hacer una consulta de referencia cruzada.

No existe una forma de hacer esa consulta directamente con SQL. En ese caso tienes que construir parte de la sentencia en forma dinámica a través de la aplicación (PHP, ASP o lo que sea), por cuanto lo que estás tratando de construir es un cubo OLAP rudimentario.
Ese tipo de análisis se realiza con herramientas bastante elaboradas, o bien, diseñando consultas ad-hoc.
En este caso, para que se entienda, no se puede definir una consulta única, por cuanto para devolverte una columna por producto, debe realizarse un LEFT JOIN con alias sobre la misma tabla por cada producto de la lista, y como la cantidad puede ser variable, las combinaciones pueden volverse infinitas.
En realidad ningún DBMS te permite hacer esas consultas directamente, simplemente porque para ello existen las herramientas OLAP.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)