Bases de Datos - GROUP BY de uniones SQL

 
Vista:

GROUP BY de uniones SQL

Publicado por Bruno (1 intervención) el 26/01/2007 19:11:35
Saludos.
Tengo una terrible duda cuya solución no consigo encontrar, os agradecería mucho si me echais una mano. La cosa es la siguiente:
UNIENDO VARIAS SUBCONSULTAS CON 'UNION' COMO PUEDO HACER LUEGO UN 'GROUP BY' UNA VEZ UNIDAS LAS SUBCONSULTAS???
El código tiene la siguiente estructura:
--------------------------
SELECT *
FROM
((
SELECT e.nombre as "Titulacion", a.precio_fotocopia as "Importe facturado"
FROM SOLICITUD_EXAMEN sex, EXAMEN ex, ASIGNATURA a, EMPRESA e
WHERE .....
)
UNION
(
SELECT e.nombre as "Titulacion", a.precio_fotocopia as "Importe facturado"
FROM SOLICITUD_EJERCICIOS sej, ASIGNATURA a, EMPRESA e
WHERE ......
)
UNION
(
SELECT e.nombre as "Titulacion", a.precio_fotocopia as "Importe facturado"
FROM SOLICITUD_APUNTES sap, APUNTES ap, ASIGNATURA a, EMPRESA e
WHERE .....
)
) tablaUniones

GROUP BY tablaUniones.Titulacion;
------------------------------
Me dice que no reconoce "tablaUniones" ni "titulacion"
No sé como acceder a estas columnas desde el group by.
He probado también a incluir la columna "tablaUniones.Titulacion" en la cláusula SELECT y me da el mismo error.
Si elimino el group by y dejo el SELECT * me muestra la unión tal y como es, sólo me faltaria agruparlo por "titulacion"

¿Alguna idea de como se puede hacer?
Gracias de antemano
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:GROUP BY de uniones SQL

Publicado por Isaías (24 intervenciones) el 31/01/2007 23:16:20
Bruno

En lugar de hacer mencion al NOMBRE de la columna en el GROUP BY, indicale la posicion de la misma, ejemplo:

select supplier_id, supplier_name
from suppliers
where supplier_id > 2000
UNION
select company_id, company_name
from companies
where company_id > 1000
ORDER BY 2;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar