6 messages in com.mysql.lists.mysql-esRE: pivotando una tabla....
FromSent OnAttachments
Jfraile09 Aug 2004 09:08 
Carlo Andreoli13 Aug 2004 01:38 
Kato Haws13 Aug 2004 12:27 
Gustavo Valentin14 Aug 2004 06:08 
Juan Navas18 Aug 2004 18:27 
David Colomer18 Aug 2004 22:52 
Subject:RE: pivotando una tabla....
From:Kato Haws (cerv@asu.edu)
Date:08/13/2004 12:27:59 PM
List:com.mysql.lists.mysql-es

¿Que perdonen mi ignorancia de Español, pero que quiere decir -- pivotar -- en
el uso abajo?

¿También, puede alguno de Uds. mandarme una página de WEB en que uno puede
hallar las palabras en Español correspondientes a términos de computación como
las siguientes -- "click", "icon", "Tool Bar", "Data Field", "file",
"folder", etc.?

¡Mil gracias!

-----Original Message----- From: Jfraile [mailto:jona@cag.es] Sent: Monday, August 09, 2004 9:09 AM To: mysq@lists.mysql.com Subject: pivotando una tabla....

Hola,

a ver si alguien puede ayudarme con una consulta que se me escapa de las manos.

Supongamos que teniendo las siguientes tablas:

TABLA 1

----------------------------------- Comercios

----------------------------------- ID_comercio | Nombre | 11 | A 10 | B 8 | C .....

TABLA 1

----------------------------------- Productos

---------------------------------- ID_producto | nombre | 16 | Z 17 | T 15 | X .......

TABLA 3

----------------------------------- Precios

------------------------------------- id | id_producto | id_comercio | precio_unidad | fecha | 1 | 16 | 8 | 0,39 | 20/05/2004 2 | 16 | 10 | 0,35 | 20/05/2004 3 | 16 | 11 | 0,22 | 20/05/2004 4 | 16 | 8 | 0,49 | 23/07/2004 5 | 16 | 11 | 0,81 | 01/08/2004 6 | 17 | 8 | 0,25 | 20/05/2004 7 | 17 | 10 | 0,26 | 23/07/2004 8 | 17 | 10 | 0,69 | 20/05/2004 9 | 15 | 8 | 0,39 | 20/05/2004 10 | 15 | 10 | 0,66 | 20/05/2004 11 | 15 | 11 | 0,33 | 20/07/2004

Queremos obtener un resultado como el siguiente:

Producto | A | B | C | fecha Z | 0,22 | 0'35 | 0'39 | 20/05/2004 Z | null | null | 0'49 | 23/07/2004 Z | 0,81 | null | null | 01/08/2004 T | null | 0'69 | 0,25 | 20/05/2004 T | null | 0'26 | null | 23/07/2004 X | 0'33 | 0'66 | 0'39 | 20/07/2004

He probado la siguiente consulta

SELECT id_producto ,(CASE WHEN id_comercio = 8 THEN precio ELSE NULL END) as '8' ,(CASE WHEN id_comercio = 10 THEN precio ELSE NULL END) as '10' ,hora ,COUNT(*) AS total FROM precios GROUP BY id_producto

pero solo devuelve un resultado por producto, y no muestra los distintos resultados para cada fecha.

En espera de vuestra ayuda,

Un saludo,

Jonathan.