SQL - ayuda con consulta

 
Vista:
sin imagen de perfil

ayuda con consulta

Publicado por Jose Angel (2 intervenciones) el 18/08/2014 00:38:36
tengo varias tablas que me están generando problema

tengo una tabla de precios que se relaciona con productos y productos con detventas y detventas con ventas

tengo la tabla de precios por si se actualizan los precios tener un registro de los precios anteriores y poder obtener las ganancias reales

ahora tengo precios viejos y precios nuevos y necesito una consulta que me muestre el precio con la fecha más reciente y que sea anterior a la fecha de la venta

tengo esta consulta que me relaciona todas mis tablas, ahora solo me falta hacer la evaluación de las fechas

SELECT * FROM productos JOIN precios ON productos.id_p=precios.id_p JOIN
detventas ON detventas.id_p=productos.id_p JOIN ventas ON detventas.id_v=ventas.id_v;

si necesitan que les pase el script para hacer pruebas díganmelo

mysql> select * from precios;
+--------+------+--------+-------+---------+------------+
| id_pre | id_p | compra | pieza | mayoreo | fecha |
+--------+------+--------+-------+---------+------------+
| 1 | 1 | 10 | 20 | 15 | 2014-01-01 |
| 2 | 2 | 12 | 16 | 20 | 2014-01-01 |
| 3 | 3 | 20 | 25 | 30 | 2014-01-01 |
| 4 | 4 | 22 | 26 | 30 | 2014-01-01 |
| 5 | 5 | 2200 | 2500 | NULL | 2014-01-01 |
| 6 | 1 | 12 | 16 | 25 | 2014-08-17 |
| 7 | 2 | 15 | 18 | 25 | 2014-08-17 |
| 8 | 3 | 22 | 26 | 35 | 2014-08-17 |
| 9 | 4 | 25 | 28 | 35 | 2014-08-17 |
| 10 | 5 | 2300 | 2550 | NULL | 2014-08-17 |
+--------+------+--------+-------+---------+------------+
10 rows in set (0.00 sec)

mysql> select * from productos;
+------+-----------+--------+--------+-------+-----------+---------+--------+
| id_p | producto | marca | modelo | stock | exibicion | almacen | bodega |
+------+-----------+--------+--------+-------+-----------+---------+--------+
| 1 | Mica | Accis | E610 | 50 | 50 | 150 | 100 |
| 2 | Mica | Rider | E610 | 50 | 50 | 100 | 300 |
| 3 | Silicon | Accis | E610 | 30 | 30 | 110 | 200 |
| 4 | Silicon | Rider | E610 | 30 | 30 | 100 | 250 |
| 5 | Audifonos | Numark | CR10 | 1 | 1 | 0 | 0 |
+------+-----------+--------+--------+-------+-----------+---------+--------+
5 rows in set (0.00 sec)

mysql> select * from detventas;
+------+------+------+----------+---------+
| id_d | id_p | id_v | cantidad | total_d |
+------+------+------+----------+---------+
| 1 | 5 | 1 | 1 | 2500 |
| 2 | 1 | 2 | 4 | 60 |
| 3 | 3 | 2 | 3 | 75 |
| 4 | 2 | 2 | 2 | 32 |
| 5 | 4 | 3 | 4 | 104 |
| 6 | 2 | 3 | 5 | 80 |
| 7 | 3 | 3 | 6 | 125 |
| 8 | 1 | 4 | 1 | 20 |
+------+------+------+----------+---------+
8 rows in set (0.00 sec)

mysql> select * from ventas;
+------+------+------+---------------------+-------+
| id_v | id_c | id_e | fecha | total |
+------+------+------+---------------------+-------+
| 1 | 1 | 2 | 2014-08-17 17:04:52 | 2500 |
| 2 | 2 | 1 | 2014-08-17 17:04:52 | 167 |
| 3 | 3 | 1 | 2014-08-17 17:04:52 | 309 |
| 4 | 1 | 2 | 2014-08-17 17:04:52 | 20 |
+------+------+------+---------------------+-------+
4 rows in set (0.00 sec)
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder