Hola! Tengo una duda a la hora de hacer una consulta sql, a ver si me sé explicar.
La cosa es que tengo dos tablas, una artículos y otra rastreos. En artículos tengo los siguientes datos:
id | referencia | tienda | marca | precio | id_rastreo
1 123 ebay lg 200 1
2 123 ebay nokia 180 1
3 111 ebay lg 150 1
4 111 ebay nokia 140 1
5 123 amazon nokia 185 1
6 123 amazon lg 170 1
7 111 amazon nokia 135 1
8 123 ebay lg 210 2
9 123 ebay nokia 170 2
10 111 ebay lg 150 2
11 111 ebay nokia 160 2
12 123 amazon nokia 175 2
13 123 amazon lg 150 2
14 111 amazon nokia 195 2
En la tabla rastreo tengo lo siguiente:
id_rastreo | fecha
1 08/02/2016
2 09/02/2016
Quiero una consulta que me saque el precio mínimo de los artículos por referencia en cada fecha. Para que os hagáis una idea, con los datos que e puesto me tendría que salir por pantalla lo siguiente:
REFERENCIA | PRECIO_MIN_EBAY/MARCA | PRECIO_MIN_AMAZON/MARCA | FECHA
123 180 /nokia 170/lg 08/02/2016
111 140/nokia 135/nokia 08/02/2016
123 170/nokia 150/lg 09/02/2013
111 150/lg 195/nokia 09/02/2016
Resumiendo, para el día 08/02/2016 el producto más barato para la referencia 123 fue un nokia con valor de 180 euros en ebay, y en amazon fue un lg de 170 euros.
No sé si me he explicado bien. A ver si alguien me puede ayudar con esta consulta que no hay forma de sacarla.
Consigo que me saque el precio minimo, pero no me pone bien la marca ya que al agrupar machaca todos los valores y coge los ultimos. Esto lo consigo con esta consulta por si os sirve de mas ayuda para solucionar mi problema:
SELECT r.fecha_rastreo , min(p0.precio) as 'precio_comp0', p0.nombre_producto as 'marca0' , p0.referencia
FROM datos_rastreo as p0 JOIN rastreo as r on p0.id_rastreo=r.id_rastreo
WHERE p0.competidor='ebay'
GROUP BY referencia, fecha_rastreo
ORDER BY fecha_rastreo ASC
Gracias de antemano.