Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   SQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=6)
-   -   Subconsulta en un ADOQuery (https://www.clubdelphi.com/foros/showthread.php?t=24011)

Sr.Scorpion 04-08-2005 22:15:04

Subconsulta en un ADOQuery
 
Hola:

Estoy utilizando Delphi6, con BD en Access. Tengo un ADOQuery1 el cual me realiza una consulta, y tengo un ADOQuery2 el cual me realiza otra consulta dela consulta anterior (ADOQuery1). De que forma le digo al ADOQuery2 que el FROM es lo que esta puesto en el ADOQuery1 y que la seleccion me la haga por lo que esta puesto en el ADOQuery1.

Saludos y Gracias

epuigdef 05-08-2005 09:12:26

Me parece que lo que necesitas es tener una sola consulta con una subconsulta, del estilo siguiente:


SELECT * from tabla where campo IN (select campo from otra_tabla where...)

La select principal seria la del segundo TADOQurey y la subconsulta sería la del primero.

No sé si te sirve, pero puedes buscar la sintaxis exacta de las subconsultas y ver si te vale.

Edu

Sr.Scorpion 05-08-2005 14:52:02

Cita:

Empezado por epuigdef
Me parece que lo que necesitas es tener una sola consulta con una subconsulta, del estilo siguiente:


SELECT * from tabla where campo IN (select campo from otra_tabla where...)

La select principal seria la del segundo TADOQurey y la subconsulta sería la del primero.

No sé si te sirve, pero puedes buscar la sintaxis exacta de las subconsultas y ver si te vale.

Edu

Esta claro que si lo hago como me dices me funciona... mi pregunta es si en vez de poner SELECT * from tabla where campo IN (select campo from otra_tabla where...) puedo poner algo asi como SELECT * from tabla where campo IN (ADOQuery1.SQL).

epuigdef 09-08-2005 10:34:53

Me parece que esto no va a colar...


La única manera sería concatenar cadenas para construir la SQL:

qry1.sql.text = "select * from tabla where campo in ("+qry2.sql.text+")"

y luego ejecutas qry1

Un saludo

Edu

Lepe 09-08-2005 11:08:34

Cita:

Empezado por Sr. Scorpion
puedo poner algo asi como SELECT * from tabla where campo IN (ADOQuery1.SQL).

Puedes simularlo con un parámetro si el campo tiene el mismo nombre en ambas querys.

Dinos exactamente cuales son las instrucciones SQL, y la relación de las tablas.

Un saludo


La franja horaria es GMT +2. Ahora son las 18:21:53.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi