Select complejo

24/08/2007 - 09:28 por Cristian Meneses | Informe spam
Buenos dias gente del foro.
Solicito ayuda para solucionar el siguiente problema
Tengo dos consultas, la segunda deriva de la primera ya que debo
pasarle parametros de ella para que se realice, pero esta segunda
consulta es compleja, tengo incluso la necesidad de crear variables
antes, luego un union, inner joins, etc...
Ya que esta segunda consulta me devuelve unos 5 campos aprox y un
unico registro, ¿puedo hacerlo como funcion y que me retorne todos los
campos y asi agregarlo en la primera consulta? ¿Como seria un ejemplo?
Habia pensado algo asi para la primera consulta

SELECT Campo1, Campo2, MiFuncion(Param1, Campo1, Campo5) FROM
MiTabla INNER JOIN.

Es correcto?
Saludos


Cristian Meneses

Preguntas similare

Leer las respuestas

#1 Carlos Sacristan
24/08/2007 - 10:50 | Informe spam
Por poder puedes, pero si dices que la consulta es compleja, ten en
cuenta que dicha complejidad (consumo de recursos) va a verse multiplicada
por el número de registros que devuelva la consulta principal y es muy
probable que el rendimiento no sea el esperado. Yo probaría a que MiFuncion
fuera una función de tabla para poder combinarla con MiTabla.

No sé si me he explicado correctamente...


"Cristian Meneses" escribió en el mensaje
news:
Buenos dias gente del foro.
Solicito ayuda para solucionar el siguiente problema
Tengo dos consultas, la segunda deriva de la primera ya que debo
pasarle parametros de ella para que se realice, pero esta segunda
consulta es compleja, tengo incluso la necesidad de crear variables
antes, luego un union, inner joins, etc...
Ya que esta segunda consulta me devuelve unos 5 campos aprox y un
unico registro, ¿puedo hacerlo como funcion y que me retorne todos los
campos y asi agregarlo en la primera consulta? ¿Como seria un ejemplo?
Habia pensado algo asi para la primera consulta

SELECT Campo1, Campo2, MiFuncion(Param1, Campo1, Campo5) FROM
MiTabla INNER JOIN.

Es correcto?
Saludos


Cristian Meneses
Respuesta Responder a este mensaje
#2 Cristian Meneses
24/08/2007 - 11:36 | Informe spam
Gracias Carlos por tu respuesta
Para ser mas preciso en mi pregunta, se podra unir todo en una unica
consulta de sql?
Imaginen que tengo algo asi

SELECT Campo1, Campo2... IDCalendario, Fecha, Hora, CampoN, CampoM
FROM Tabla
INNER JOIN Tabla2
INNER JOIN Tabla3
WHERE
ORDER BY ...

y deseo adjuntarle el unico resultado (o nada) de la siguiente
consulta que toma como parametros IDCalendario, Fecha y Hora de la
primer consulta.

SELECT TOP 1 * FROM
(SELECT C1, C2, C3, C4, C5 FROM TablaX WHERE C1 = Fecha AND C2 = Hora
AND C3 = IDCalendario
UNION
SELECT C1, C2, C3, C4, C5 FROM TablaZ WHERE C1 = Fecha AND C2 = Hora
AND C3 = IDCalendario)
WHERE C4 IS NOT NULL
ORDER BY C1

Imagine unirlos via un INNER JOIN pero no se como.
Saludos


Cristian Meneses
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida