Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

clausula UNION

Estas en el tema de clausula UNION en el foro de Mysql en Foros del Web. Hola como estan amigos programadores. Mi consulta es la siguiente: Tengo 2 consultas SELECT unidas por la clausula UNION, ambas cumplen las condiciones para poder ...
  #1 (permalink)  
Antiguo 03/10/2008, 11:57
 
Fecha de Ingreso: octubre-2008
Ubicación: santiago del estero
Mensajes: 1
Antigüedad: 15 años, 6 meses
Puntos: 0
Pregunta clausula UNION

Hola como estan amigos programadores.
Mi consulta es la siguiente:
Tengo 2 consultas SELECT unidas por la clausula UNION, ambas cumplen las condiciones para poder realizar esto, anda muy bien, pero ahora, una de las columnas unidas es un total, la pregunta es: ¿existe algun tip para suumar columnas unidas por UNION?

SELECT
CAJA.CAJERO AS C,
CAJA.FECHA AS F,
SUM(CAJA.TOTAL) AS TOT,
FROM CAJA
WHERE CAJA.ESTADO='CERRADA'
GROUP BY C

UNION

SELECT
CAJA.CAJERO AS C,
CAJA.FECHA as F,
SUM(CAJA.TOTAL) AS TOT,
FROM CAJA
WHERE CAJA.ESTADO='CERRADA'
GROUP BY F

yo quisiera sumar la columna TOT resultante de la union de las consultas select, me hago entender? uso la ultima version de mysql.
Gracias
  #2 (permalink)  
Antiguo 03/10/2008, 18:03
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: clausula UNION

Tienes que encerrar la union resultante como tabla virtual (subconsulta) y realizar la suma en ella.
Ese sería el camino simple:
Código sql:
Ver original
  1. SELECT  SUM(TOT) TOTAL
  2. FROM (
  3. SELECT
  4. CAJA.CAJERO AS C,
  5. CAJA.FECHA AS F,
  6. SUM(CAJA.TOTAL) AS TOT,
  7. FROM CAJA
  8. WHERE CAJA.ESTADO='CERRADA'
  9. GROUP BY C
  10.  
  11. UNION
  12.  
  13. SELECT
  14. CAJA.CAJERO AS C,
  15. CAJA.FECHA AS F,
  16. SUM(CAJA.TOTAL) AS TOT,
  17. FROM CAJA
  18. WHERE CAJA.ESTADO='CERRADA'
  19. GROUP BY F) AS T1;
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 04/10/2008 a las 05:50
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 06:14.