** NORMAS DEL FORO **
Inicio del foro Inicio del foro > Access y VBA > Access y VBA
  Mensajes nuevos Mensajes nuevos RSS - Union varias queries
  Preguntas frecuentes Preguntas frecuentes  Buscar en el foro   Eventos   Registro Registro  Iniciar sesion Iniciar sesion

Union varias queries

 Responder Responder
Autor
Mensaje
cyrax36 Ver desplegable
Nuevo
Nuevo


Unido: 08/Marzo/2023
Localización: Madrid
Estado: Sin conexión
Puntos: 5
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita cyrax36 Cita  ResponderRespuesta Enlace directo a este mensaje Tema: Union varias queries
    Enviado: 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 ;)


Arriba
xavi Ver desplegable
Administrador
Administrador
Avatar
Terrassa-BCN

Unido: 10/Mayo/2005
Localización: Catalunya ||||
Estado: Sin conexión
Puntos: 14720
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita xavi Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 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

Mi web
Arriba
cyrax36 Ver desplegable
Nuevo
Nuevo


Unido: 08/Marzo/2023
Localización: Madrid
Estado: Sin conexión
Puntos: 5
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita cyrax36 Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 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
Arriba
cyrax36 Ver desplegable
Nuevo
Nuevo


Unido: 08/Marzo/2023
Localización: Madrid
Estado: Sin conexión
Puntos: 5
Opciones de entrada Opciones de entrada   Gracias (0) Gracias(0)   Cita cyrax36 Cita  ResponderRespuesta Enlace directo a este mensaje Enviado: 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
 

Arriba
 Responder Responder
  Compartir tema   

Ir al foro Permisos de foro Ver desplegable