SUMA DUPLICADA
Publicado por Jose (1 intervención) el 01/11/2019 09:24:39
Cordial saludo,
Tengo las siguientes tablas en Mysql:
Pero al realizar esta consulta:
Obtengo esto:
y deberia ser esto:
Como se observa se duplica el producto 002 al tener tanto en BARRA como INVENTARIO tiene mas de dos registros con el mismo producto, que debo hacer para que la consulta de las unidades correctas?
Tengo las siguientes tablas en Mysql:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
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:
1
2
3
4
5
6
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:
1
2
3
4
5
6
7
8
9
10
+---------+------------------+----------+------------+----------------+---------------+
| 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:
1
2
3
4
5
6
7
8
9
10
+---------+------------------+----------+------------+----------------+---------------+
| 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 tiene mas de dos registros con el mismo producto, que debo hacer para que la consulta de las unidades correctas?
Valora esta pregunta


0