Ver Mensaje Individual
  #4 (permalink)  
Antiguo 23/04/2014, 06:17
lolo435
 
Fecha de Ingreso: abril-2013
Mensajes: 36
Antigüedad: 11 años, 1 mes
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!