[ Foro de SQL (y MySQL) ]

Abreviar dos consultas

05-Feb-2022 20:46
Invitado (Subconsulta en Consulta)
0 Respuestas

Buen día

Quisiera saber si alguien me puede ayudar en saber si es posible o no hacer una subconsulta de lo siguiente:

Necesito llenar un gridview con los datos de estas dos consultas, actualmente hago dos consultas para obtener los datos, el resultado que obtengo es que si en la primera consulta obtengo un valor se dispara la segunda consulta de lo contrario no, el resultado en el gridview depende de eso precisamente:

Primera Consulta

SELECT Hora, Ide, Habilita
FROM Tabla1
WHERE Med = 'Variable1'
AND Dia = 'Variable2'
ORDER BY Hora ASC
Segunda Consulta

SELECT TOP 1 H.Estado, A.Descripcion
FROM Tabla2 H
INNER JOIN Tabla3 A ON H.Ase = A.Ase
WHERE H.Bod = 'Variable1'
AND H.Cia = 'Variable3'
AND H.Fecha = 'Variable4'
AND H.Id_Hora = 'Ide'
AND H.Estado <> 'C'

La segunda consulta depende del resultado 'Ide' de la primera consulta (esta primera consulta siempre arroja resultados), pero la segunda puede que si o puede que no,  el grid se llena en una parte de la primera consulta y otra de la segunda consulta si hubo resultado o sino queda en blanco.  Así:

Columna1  Columna2  Columna3  Columna4

Ide            Habilita     Hora          (Aquí esta en blanco porque la segunda no dio resultado, ejemplo)

Ide            Habilita     Hora          Descripción (Este dato es de la segunda consulta si hubo resultado en la misma)

Ide            Habilita     Hora          (Aquí esta en blanco porque la segunda no dio resultado, ejemplo)

Ide            Habilita     Hora          (Aquí esta en blanco porque la segunda no dio resultado, ejemplo)

Ide            Habilita     Hora          Descripción (Este dato es de la segunda consulta si hubo resultado en la misma)



Las 3 primeras columnas se llenan con la consulta 1 porque siempre hay resultados, pero la cuarta se llena dependiendo si hay resultados en la segunda consulta o no.

¿Hay alguna manera de hacer esas dos consultas en una sola con una subconsulta o abreviar eso que estoy haciendo obteniendo los mismos resultados para el grid?

Gracias




(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)