23/04/2014, 06:17
|
| | Fecha de Ingreso: abril-2013
Mensajes: 36
Antigüedad: 11 años, 9 meses Puntos: 0 | |
Respuesta: ¿Como funciona realmente UNION? lo que quiero que ocurra se hace, es tal y como os e enseñado, quiero que si existe un registro en la subconsulta2 con los mismos parametros por los que agrupo, sea ''machacado'' por el registro de la subconsulta 1. Pero queria enterarme bien de como funciona UNION, ya que lo que hago, solo pasa si pongo la union en este orden
subconsulta1
union
subconsulta2
si las pongo alrreves se hace al contrario.
Al igual que este ejemplo queria operar con dos subconsultas, os explico:
tengo la subconsulta1 de esta forma
cod_cliente-----servicio-----subservicio-----importe
1---------------------S12-----------SUB23---------25
1---------------------S12-----------SUB45---------45
1---------------------S34-----------SUB78---------78
2---------------------S12-----------SUB24---------48
2---------------------S33-----------SUB43---------78
subconsulta2
cod_cliente-----servicio-----subservicio-----importe
1---------------------S12-----------SUB23---------7
2---------------------S33-----------SUB43---------8
lo que quiero es unir las dos subconsultas y sumar el importe, para que quede de esta forma
cod_cliente-----servicio-----subservicio-----importe
1---------------------S12-----------SUB23---------32
1---------------------S12-----------SUB45---------45
1---------------------S34-----------SUB78---------78
2---------------------S12-----------SUB24---------48
2---------------------S33-----------SUB43---------86
tb lo he hecho con union, y me ha salido bien, pero no se muy bien como funciona, de ahi mis dudas
la consulta la he hecho asi
SELECT cod_cliente,servicio,subservicio,SUM(importe) AS importe
FROM
(
(subconsulta2)
UNION
(subconsulta1)
) consulta_union
GROUP BY cod_cliente, servicio, subservicio;
Lo que me gustaria saber es como funciona
Union pone todos los registros juntos y despues suma el importe por subservicios, pero no se supone que al hacer la union, solo muestra un registro con el mismo cod_cliente_servicio y subservicio?, me vuelvo a explicar, al hacer la union, no descarta los dos registros de la segunda tabla donde cod_cliente, servicio y subservicio son iguales? o simplemte no los muestra? ( de ser asi entiendo que los suma y muestra el resultado)
Un saludo y gracias de nuevo! |