Hola Galarraga:
Lamentablemente en MySQL no existe el concepto de tablas PIVOT, como en ORACLE o en SQL Server, pero podrías hacer algo como esto:
Código MySQL:
Ver original+-------+---------------------+-------+
+-------+---------------------+-------+
| shop1 | 2012-04-04 08:05:02 | 10.50 |
| shop1 | 2012-04-04 08:05:02 | 2.00 |
| shop2 | 2012-04-04 08:05:02 | 7.50 |
| shop1 | 2012-04-05 08:05:02 | 6.00 |
| shop1 | 2012-04-05 08:05:02 | 9.00 |
| shop2 | 2012-04-06 08:05:02 | 10.00 |
| shop2 | 2012-04-06 08:05:02 | 3.00 |
+-------+---------------------+-------+
+-------+------------+------------+------------+
| site | 2012-04-04 | 2012-04-05 | 2012-04-06 |
+-------+------------+------------+------------+
| shop1 | 12.50 | 15.00 | 0.00 |
| shop2 | 7.50 | 0.00 | 13.00 |
+-------+------------+------------+------------+
Checa también esta liga:
http://www.artfulsoftware.com/infotree/queries.php#78
Ahí hay infinidad de consultas que te pueden servir, la parte que te muestro es justamente la de convertir renglones a columnas.
Finalmente una recomendación con respecto a los nombres que usas en tus tablas: NO UTILICES PALABRAS EN INGLÉS, ya que estos pueden traer problemas, en tu ejemplo nombras un campo como DATE, sin embargo DATE es un
TIPO DE DATO. Es preferible utilizar palabras en español para nombrar cualquier objeto de bd (campos, tablas, SP, funciones, etc) o en su defecto asegurar que no forman parte de las palabras reservadas.
Saludos
Leo.