Ver Mensaje Individual
  #1  
Antiguo 01-11-2019
Jose Roman Jose Roman is offline
Miembro
 
Registrado: jul 2006
Ubicación: Colombia
Posts: 361
Reputación: 18
Jose Roman Va por buen camino
Suma duplicada consulta Mysql

Cordial saludo,
Tengo las siguientes tablas en Mysql:

Código:
mysql> SELECT ID_PROD,DESCRIP FROM PRODUCTOS;
+---------+------------------+
| ID_PROD | DESCRIP          |
+---------+------------------+
| 001     | POKER            |
| 002     | AGUILA           |
| 003     | GASEOSA          |
| 004     | VIEJO DE CALDAS  |
| 005     | VIEJO DE CALDAS  |
| 006     | BLANCO DEL VALLE |
+---------+------------------+
6 rows in set (0.00 sec)

mysql> SELECT ID_PROD,VR_PUBLI FROM PROD_PREC;
+---------+----------+
| ID_PROD | VR_PUBLI |
+---------+----------+
| 001     |     8000 |
| 002     |     8000 |
| 003     |     3500 |
| 004     |   110000 |
| 005     |    60000 |
| 006     |    50000 |
+---------+----------+
6 rows in set (0.00 sec)

mysql> SELECT FECHA,PRODU,UNDS FROM BARRA;
+--------+-------+------+
| FECHA  | PRODU | UNDS |
+--------+-------+------+
| 191028 | 002   |    2 |
| 191028 | 005   |    5 |
| 191028 | 002   |    1 |
+--------+-------+------+
3 rows in set (0.00 sec)

mysql> SELECT FECHA,ID_PROD,E_UNDS,S_UNDS FROM INVENTARIO;
+---------------------+---------+--------+--------+
| FECHA               | ID_PROD | E_UNDS | S_UNDS |
+---------------------+---------+--------+--------+
| 2019-10-28 00:00:00 | 001     |     24 |      0 |
| 2019-10-28 00:00:00 | 002     |      4 |      0 |
| 2019-10-31 00:00:00 | 002     |      0 |      2 |
+---------------------+---------+--------+--------+
3 rows in set (0.00 sec)
Pero al realizar esta consulta:
Código:
SELECT P.ID_PROD,P.DESCRIP,V.VR_PUBLI,IFNULL(SUM(B.UNDS),0) BARRA_UNDS,IFNULL(SUM(I.E_UNDS),0) ENTRA_UNDS_INV,IFNULL(SUM(I.S_UNDS),0) SALE_UNDS_INV
FROM PRODUCTOS P 
join PROD_PREC V ON P.ID_PROD = V.ID_PROD 
LEFT join BARRA B ON P.ID_PROD = B.PRODU 
LEFT JOIN INVENTARIO I ON P.ID_PROD = I.ID_PROD
GROUP BY P.ID_PROD
Obtengo esto:
Código:
+---------+------------------+----------+------------+----------------+---------------+
| ID_PROD | DESCRIP          | VR_PUBLI | BARRA_UNDS | ENTRA_UNDS_INV | SALE_UNDS_INV |
+---------+------------------+----------+------------+----------------+---------------+
| 001     | POKER            |     8000 |          0 |             24 |             0 |
| 002     | AGUILA           |     8000 |          6 |              8 |             4 |
| 003     | GASEOSA          |     3500 |          0 |              0 |             0 |
| 004     | VIEJO DE CALDAS  |   110000 |          0 |              0 |             0 |
| 005     | VIEJO DE CALDAS  |    60000 |          5 |              0 |             0 |
| 006     | BLANCO DEL VALLE |    50000 |          0 |              0 |             0 |
+---------+------------------+----------+------------+----------------+---------------+
y deberia ser esto:
Código:
+---------+------------------+----------+------------+----------------+---------------+
| ID_PROD | DESCRIP          | VR_PUBLI | BARRA_UNDS | ENTRA_UNDS_INV | SALE_UNDS_INV |
+---------+------------------+----------+------------+----------------+---------------+
| 001     | POKER            |     8000 |          0 |             24 |             0 |
| 002     | AGUILA           |     8000 |          3 |              4 |             2 |
| 003     | GASEOSA          |     3500 |          0 |              0 |             0 |
| 004     | VIEJO DE CALDAS  |   110000 |          0 |              0 |             0 |
| 005     | VIEJO DE CALDAS  |    60000 |          5 |              0 |             0 |
| 006     | BLANCO DEL VALLE |    50000 |          0 |              0 |             0 |
+---------+------------------+----------+------------+----------------+---------------+
Como se observa se duplica el producto 002 al tener tanto en BARRA como INVENTARIO mas de dos registros con el mismo producto, que debo hacer para que la consulta de las unidades correctas?
Responder Con Cita