Imprimir página | Cerrar ventana

Union varias queries

Impreso de: Foro de Access y VBA
Categoría: Access y VBA
Nombre del foro: Access y VBA
Descripción del foro: Foro de programacion en Access (Con código y sin código)
URL: http://www.mvp-access.com/foro/forum_posts.asp?TID=86628
Fecha de impresión: 24/Abril/2024 a las 14:41


Tema: Union varias queries
Publicado por: cyrax36
Asunto: Union varias queries
Fecha de publicación: 08/Marzo/2023 a las 00:32
Hola, necesito juntar el resultados de dos queries en una sola.
Estas son las queries :
SELECT TOP 3 Siglas.Siglas, Datos.Fijo, Datos.Rival, Datos.Temporada, Datos.GolesF, Datos.Resultado, Datos.Tipo, Datos.Dif
FROM Siglas INNER JOIN Datos ON Siglas.Nombre = Datos.Fijo
WHERE (((Siglas.Siglas)="ALA") AND ((Datos.Tipo)="Casa"))
ORDER BY Datos.GolesF DESC , Datos.Dif DESC;

Con este resultado :
Siglas.Siglas Fijo Rival Temporada GolesF Resultado Tipo Dif
ALA Alavés Racing 32-33 8 8-2 Casa 6
ALA Alavés Valencia 54-55 7 7-0 Casa 7
ALA Alavés Celta 55-56 5 5-1 Casa 4
ALA Alavés Málaga 54-55 5 5-1 Casa 4

La otra query sería :
SELECT TOP 3 Siglas.Siglas, Datos.Fijo, Datos.Rival, Datos.Temporada, Datos.GolesF, Datos.Resultado, Datos.Tipo, Datos.Dif
FROM Siglas INNER JOIN Datos ON Siglas.Nombre = Datos.Fijo
WHERE (((Siglas.Siglas)="ADL") AND ((Datos.Tipo)="Casa"))
ORDER BY Datos.GolesF DESC , Datos.Dif DESC;

Con este resultado :
Siglas.Siglas Fijo Rival Temporada GolesF Resultado Tipo Dif
ADL AD Almería Ath. Bilbao 79-80 4 4-2 Casa 2
ADL AD Almería Las Palmas 79-80 3 3-0 Casa 3
ADL AD Almería Zaragoza 80-81 3 3-1 Casa 2
 

Cómo podría conseguir juntar estas dos queries en una sola ?

Muchísimas gracias por vuestra ayuda....estoy terminando un proyecto deportivo ;)





Respuestas:
Publicado por: xavi
Fecha de publicación: 08/Marzo/2023 a las 01:23
Hola cyrax36 y bienvenid@ al foro,

Crea una nueva consulta y une ambas SQL mediante la clausula UNION. Recuerda quitar el ; del final de la primera SQL.

Dado que ambas SQL tienen los mismos campos, el resultado deberían ser los 6 registros deseados.

SELECT TOP 3 Siglas.Siglas, Datos.Fijo, Datos.Rival, Datos.Temporada, Datos.GolesF, Datos.Resultado, Datos.Tipo, Datos.Dif
FROM Siglas INNER JOIN Datos ON Siglas.Nombre = Datos.Fijo
WHERE (((Siglas.Siglas)="ALA") AND ((Datos.Tipo)="Casa"))
ORDER BY Datos.GolesF DESC , Datos.Dif DESC
UNION
SELECT TOP 3 Siglas.Siglas, Datos.Fijo, Datos.Rival, Datos.Temporada, Datos.GolesF, Datos.Resultado, Datos.Tipo, Datos.Dif
FROM Siglas INNER JOIN Datos ON Siglas.Nombre = Datos.Fijo
WHERE (((Siglas.Siglas)="ADL") AND ((Datos.Tipo)="Casa"))
ORDER BY Datos.GolesF DESC , Datos.Dif DESC

Prueba y nos cuentas

Un saludo


-------------
Xavi, un minyó de Terrassa

http://www.llodax.com" rel="nofollow - Mi web


Publicado por: cyrax36
Fecha de publicación: 08/Marzo/2023 a las 20:12
Hola, este el resultado

Consulta1
X7YZ_____1.Siglas.Siglas Fijo Rival Temporada GolesF Resultado Tipo Dif
ALA Alavés Racing 32-33 8 8-2 Casa 6
ALA Alavés Valencia 54-55 7 7-0 Casa 7
ALA Alavés Celta 55-56 5 5-1 Casa 4
ALA Alavés Málaga 54-55 5 5-1 Casa 4
ADL AD Almería Las Palmas 79-80 3 3-0 Casa 3
ADL AD Almería Real Sociedad 79-80 0 0-0 Casa 0
ADL AD Almería Sevilla 80-81 0 0-0 Casa 0
 

Es correcto para la primera iteracción, pero no para la segunda


Publicado por: cyrax36
Fecha de publicación: 08/Marzo/2023 a las 20:23
Dándole muchas más vueltas ya lo conseguí. Os dejo la query : 

(SELECT TOP 3 Siglas.Siglas, Datos.Fijo, Datos.Rival, Datos.Temporada, Datos.GolesF, Datos.Resultado, Datos.Tipo, Datos.Dif
FROM Siglas INNER JOIN Datos ON Siglas.Nombre = Datos.Fijo
WHERE (((Siglas.id)=1) AND ((Datos.Tipo)="Casa"))
ORDER BY DATOS.FIJO, Datos.GolesF DESC , Datos.Dif DESC)
UNION
(SELECT TOP 3 Siglas.Siglas, Datos.Fijo, Datos.Rival, Datos.Temporada, Datos.GolesF, Datos.Resultado, Datos.Tipo, Datos.Dif
FROM Siglas INNER JOIN Datos ON Siglas.Nombre = Datos.Fijo
WHERE (((Siglas.id)=2) AND ((Datos.Tipo)="Casa"))
ORDER BY DATOS.FIJO, Datos.GolesF DESC , Datos.Dif DESC)
ORDER BY DATOS.FIJO, Datos.GolesF DESC , Datos.Dif DESC;

Y el resultado :

X7YZ_____1.Siglas.Siglas Fijo Rival Temporada GolesF Resultado Tipo Dif
ALA Alavés Racing 32-33 8 8-2 Casa 6
ALA Alavés Valencia 54-55 7 7-0 Casa 7
ALA Alavés Celta 55-56 5 5-1 Casa 4
ALA Alavés Málaga 54-55 5 5-1 Casa 4
ALC Alcoyano Sporting 47-48 6 6-1 Casa 5
ALC Alcoyano Lérida 50-51 6 6-2 Casa 4
ALC Alcoyano Español 50-51 4 4-1 Casa 3
ALC Alcoyano Sporting 45-46 4 4-1 Casa 3
 




Imprimir página | Cerrar ventana