Foro de elhacker.net

Programación => Bases de Datos => Mensaje iniciado por: mykel_87 en 16 Febrero 2016, 18:23 pm



Título: Consulta sql de precio minimo por referencia
Publicado por: mykel_87 en 16 Febrero 2016, 18:23 pm
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.