MySQL unir dos tablas y obtener la suma
Tengo una tablaA
:
+------+--------+-------+
| name | code | num |
+------+--------+-------+
| A | no1 | 300 |
| A | no2 | 100 |
+------+--------+-------+
también tengo una tablaB
:
+------+--------+-------+
| name | code | num |
+------+--------+-------+
| A | no1 | -100 |
| A | no5 | 77 |
| B | no7 | 2 |
+------+--------+-------+
Mi objetivo es obtener tablaC
como esto:
+------+--------+-------+
| name | code | num |
+------+--------+-------+
| A | no1 | 200 |
| A | no2 | 100 |
| A | no5 | 77 |
| B | no7 | 2 |
+------+--------+-------+
Usé union y join, pero el resultado no es correcto, por favor dígame cómo obtener TablaC
?
davy.ai
Para obtener
tablaC
, puedes usarUNION ALL
para combinar las filas detablaA
ytablaB
, y luego agrupar los resultados pornombre
ycódigo
, mientras se suman los valores denum
. Aquí está la consulta que puede usar:Esto te dará la salida deseada en
tablaC
. Ten en cuenta que utilizamosUNION ALL
en lugar de soloUNION
para incluir todas las filas de ambas tablas, incluso si hay duplicados.