consulta sobre consulta

19/02/2004 - 20:56 por momak | Informe spam
Buenas:
A ver si puedo explicar lo que pretendo.
Quiero relizar una serie consecutiva de consultas, pero necesito que que
cada una se ejecute sobre la anterior.Es decir, quiero hacer una cosulta
sobre una tabla con unos parámetros que le pueda aportar desde fuera, y
sobre esa consulta realizar otra que elija a su vez entre los registros
de la primera en función de otros parámetros, y así sucesivamente unas
cuantas veces. Yo he trabajado bastante con access, no con sql server, y
en access llege a conseguir lo que cuento pero no puede o no supe evitar
que para cada consulta se tuvieran que ejecutar todas las anteriores
cada vez. Primero ejecutaba la primera y veía los resultados, y cuando
quería hacer la segunda consulta tenía que volver a realizar la primera
y así siempre, es decir no podía guardar los registros anteriores en
algún recipiente y contra dicho recipiente realizar la siguiente consulta.
Bueno me temo que he metido demasiado rollo. Si alguien me puede decir
cómo guardar los registros resultantes de una consulta en algún sitio
contra el que pueda hacer una nueva consulta lo agradecería mucho.
No sé si los procedimientos almacenados de sql tienen algo que ver con
esto, o sí podría utilizar de alguna forma los dataset de ADO.NET.
Gracias por vuestra atención, Momak.

Preguntas similare

Leer las respuestas

#1 Maximiliano D. A.
19/02/2004 - 22:02 | Informe spam
Hola, si entre consultas hay algun campo vinculante podrias intentar algo
asi como:

select campos from tuprimer consulta join (select campos from tu segunda
consulta) segunda on
tuprimerconsulta.campovinculado = segunda.camposvinculados

y asi!!! ;-), claro si los podes vincular no


Salu2
Maxi
Buenos Aires Argentina
Desarrollador Microsoft 3 Estrellas .NET
[Maxi_accotto[arroba]speedy[punto]com[punto]ar
MSN:


"momak" escribió en el mensaje
news:
Buenas:
A ver si puedo explicar lo que pretendo.
Quiero relizar una serie consecutiva de consultas, pero necesito que que
cada una se ejecute sobre la anterior.Es decir, quiero hacer una cosulta
sobre una tabla con unos parámetros que le pueda aportar desde fuera, y
sobre esa consulta realizar otra que elija a su vez entre los registros
de la primera en función de otros parámetros, y así sucesivamente unas
cuantas veces. Yo he trabajado bastante con access, no con sql server, y
en access llege a conseguir lo que cuento pero no puede o no supe evitar
que para cada consulta se tuvieran que ejecutar todas las anteriores
cada vez. Primero ejecutaba la primera y veía los resultados, y cuando
quería hacer la segunda consulta tenía que volver a realizar la primera
y así siempre, es decir no podía guardar los registros anteriores en
algún recipiente y contra dicho recipiente realizar la siguiente consulta.
Bueno me temo que he metido demasiado rollo. Si alguien me puede decir
cómo guardar los registros resultantes de una consulta en algún sitio
contra el que pueda hacer una nueva consulta lo agradecería mucho.
No sé si los procedimientos almacenados de sql tienen algo que ver con
esto, o sí podría utilizar de alguna forma los dataset de ADO.NET.
Gracias por vuestra atención, Momak.





Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.581 / Virus Database: 368 - Release Date: 09/02/2004
Respuesta Responder a este mensaje
#2 ulises
19/02/2004 - 22:12 | Informe spam
Me parece que lo mejor sería que apliques filtros en el
dataset ADO .NET luego de recuperar la información desde
el SQL.

Saludos,
Ulises

Buenas:
A ver si puedo explicar lo que pretendo.
Quiero relizar una serie consecutiva de consultas, pero


necesito que que
cada una se ejecute sobre la anterior.Es decir, quiero


hacer una cosulta
sobre una tabla con unos parámetros que le pueda aportar


desde fuera, y
sobre esa consulta realizar otra que elija a su vez entre


los registros
de la primera en función de otros parámetros, y así


sucesivamente unas
cuantas veces. Yo he trabajado bastante con access, no


con sql server, y
en access llege a conseguir lo que cuento pero no puede o


no supe evitar
que para cada consulta se tuvieran que ejecutar todas las


anteriores
cada vez. Primero ejecutaba la primera y veía los


resultados, y cuando
quería hacer la segunda consulta tenía que volver a


realizar la primera
y así siempre, es decir no podía guardar los registros


anteriores en
algún recipiente y contra dicho recipiente realizar la


siguiente consulta.
Bueno me temo que he metido demasiado rollo. Si alguien


me puede decir
cómo guardar los registros resultantes de una consulta en


algún sitio
contra el que pueda hacer una nueva consulta lo


agradecería mucho.
No sé si los procedimientos almacenados de sql tienen


algo que ver con
esto, o sí podría utilizar de alguna forma los dataset de


ADO.NET.
Gracias por vuestra atención, Momak.
.

Respuesta Responder a este mensaje
#3 Gustavo Larriera [MVP SQL]
19/02/2004 - 23:05 | Informe spam
Puedes almacenar los resultados intremedios en una tabla temporal y así
sucesivamente en cada nueva consulta que vas haciendo.

Gustavo Larriera, MVP-SQL, MCSE
Uruguay LatAm

Este mensaje se proporciona "como está" sin garantías de ninguna clase, y no
otorga ningún derecho.


"momak" wrote in message
news:
Buenas:
A ver si puedo explicar lo que pretendo.
Quiero relizar una serie consecutiva de consultas, pero necesito que que
cada una se ejecute sobre la anterior.Es decir, quiero hacer una cosulta
sobre una tabla con unos parámetros que le pueda aportar desde fuera, y
sobre esa consulta realizar otra que elija a su vez entre los registros
de la primera en función de otros parámetros, y así sucesivamente unas
cuantas veces. Yo he trabajado bastante con access, no con sql server, y
en access llege a conseguir lo que cuento pero no puede o no supe evitar
que para cada consulta se tuvieran que ejecutar todas las anteriores
cada vez. Primero ejecutaba la primera y veía los resultados, y cuando
quería hacer la segunda consulta tenía que volver a realizar la primera
y así siempre, es decir no podía guardar los registros anteriores en
algún recipiente y contra dicho recipiente realizar la siguiente consulta.
Bueno me temo que he metido demasiado rollo. Si alguien me puede decir
cómo guardar los registros resultantes de una consulta en algún sitio
contra el que pueda hacer una nueva consulta lo agradecería mucho.
No sé si los procedimientos almacenados de sql tienen algo que ver con
esto, o sí podría utilizar de alguna forma los dataset de ADO.NET.
Gracias por vuestra atención, Momak.
Respuesta Responder a este mensaje
#4 Adrian D. Garcia
20/02/2004 - 02:49 | Informe spam
Si quieres guardar las filas resultantes puedes guardarlas en tablas
temporales o tablas de trabajo, aqui va un ejemplo muy basico que no
contempla la performance en absoluto:

SELECT *
INTO #tablatemp1
FROM TABLA
WHERE.

SELECT * FROM #tablatemp1

SELECT *
INTO #tablatemp2
FROM #tablatemp1
WHERE

SELECT * FROM #tablatemp2

Y asi voy haciendo lo mismo sucesivamente.
Lee en los BOL sobre las tablas temporales.

Saludos
Adrian D. Garcia
MCSD
NDSoft Consultoria y Desarrollo

"momak" wrote in message
news:
Buenas:
A ver si puedo explicar lo que pretendo.
Quiero relizar una serie consecutiva de consultas, pero necesito que que
cada una se ejecute sobre la anterior.Es decir, quiero hacer una cosulta
sobre una tabla con unos parámetros que le pueda aportar desde fuera, y
sobre esa consulta realizar otra que elija a su vez entre los registros
de la primera en función de otros parámetros, y así sucesivamente unas
cuantas veces. Yo he trabajado bastante con access, no con sql server, y
en access llege a conseguir lo que cuento pero no puede o no supe evitar
que para cada consulta se tuvieran que ejecutar todas las anteriores
cada vez. Primero ejecutaba la primera y veía los resultados, y cuando
quería hacer la segunda consulta tenía que volver a realizar la primera
y así siempre, es decir no podía guardar los registros anteriores en
algún recipiente y contra dicho recipiente realizar la siguiente consulta.
Bueno me temo que he metido demasiado rollo. Si alguien me puede decir
cómo guardar los registros resultantes de una consulta en algún sitio
contra el que pueda hacer una nueva consulta lo agradecería mucho.
No sé si los procedimientos almacenados de sql tienen algo que ver con
esto, o sí podría utilizar de alguna forma los dataset de ADO.NET.
Gracias por vuestra atención, Momak.
Respuesta Responder a este mensaje
#5 Javier Loria
20/02/2004 - 15:34 | Informe spam
Hola Momak:
Una pregunta 5 opiniones diferentes, que gran grupo de noticias!!!.
Mi opinion: como usas ADO.NET te recomiendo almacenes la consulta en un
DATASET, y construyes un DATAVIEW que usa como Base el DATATABLE incluido en
DATASET y con la propiedad ROWFILTER vas agregando los filtros. El RowFilter
es como un WHERE que va filtrando las filas.
Con esto la consulta sera mucho mas rapidas, porque solo va una ocasion
al servidor y no mantiene ningun objeto o consume recursos en el servidor.
Saludos,


Javier Loria
Costa Rica
Se aprecia la inclusion de DDL (CREATE, INSERTS, etc.)
que pueda ser copiado y pegado al Query Analizer.
La version de SQL y Service Pack tambien ayuda.
momak escribio:
Buenas:
A ver si puedo explicar lo que pretendo.
Quiero relizar una serie consecutiva de consultas, pero necesito que
que cada una se ejecute sobre la anterior.Es decir, quiero hacer una
cosulta sobre una tabla con unos parámetros que le pueda aportar
desde fuera, y sobre esa consulta realizar otra que elija a su vez
entre los registros de la primera en función de otros parámetros, y
así sucesivamente unas cuantas veces. Yo he trabajado bastante con
access, no con sql server, y en access llege a conseguir lo que
cuento pero no puede o no supe evitar que para cada consulta se
tuvieran que ejecutar todas las anteriores
cada vez. Primero ejecutaba la primera y veía los resultados, y cuando
quería hacer la segunda consulta tenía que volver a realizar la
primera
y así siempre, es decir no podía guardar los registros anteriores en
algún recipiente y contra dicho recipiente realizar la siguiente
consulta. Bueno me temo que he metido demasiado rollo. Si alguien me
puede decir cómo guardar los registros resultantes de una consulta en
algún sitio contra el que pueda hacer una nueva consulta lo
agradecería mucho.
No sé si los procedimientos almacenados de sql tienen algo que ver con
esto, o sí podría utilizar de alguna forma los dataset de ADO.NET.
Gracias por vuestra atención, Momak.
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida