Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   MySQL (https://www.clubdelphi.com/foros/forumdisplay.php?f=21)
-   -   consultas anidadas (https://www.clubdelphi.com/foros/showthread.php?t=42283)

Carlosguiland 10-04-2007 21:19:14

consultas anidadas
 
Hola a todos mi pregunta es muy sencilla de explicar pero aun no he dado con
el comando.
quiero saber si esto es posible

mysql>select funcion_de_mysql('select 400');

>400

la razón es que el query se encuentra en un campo de mi tabla
lo que resumiria

select funcion_de_mysql(campo_sql) from tabla_de_consultas

Caral 11-04-2007 00:50:21

Hola
No se si soy el unico, pero no entiendo muy bien tu pregunta, no entiendo la relacion que quieres dar entre un query(sentencia sql, enlaza la tabla), mysql(base de datos) y campo_sql(pertenece a la tabla de mysql)
Para hacer una consulta de que?.
Tal vez explicandote un poco mejor lo pueda captar.
Saludos

egostar 11-04-2007 01:04:19

Cita:

Empezado por Carlosguiland
Hola a todos mi pregunta es muy sencilla de explicar pero aun no he dado con
el comando.
quiero saber si esto es posible

mysql>select funcion_de_mysql('select 400');

>400

la razón es que el query se encuentra en un campo de mi tabla
lo que resumiria

select funcion_de_mysql(campo_sql) from tabla_de_consultas

Que es lo sencillo, explicarnos o explicartelo.

Cual es exactamente tu duda?

Salud OS.

poliburro 13-04-2007 23:19:20

Entonces quieres ejecutar una consulta contenida en una tabla, mmm algo así como una consulta dinámica.

:P bueno, ami se me ocurre que funcionaría así en Mysql

Código SQL [-]
 
/*Esto es un cáluclo arbitrario del tamaño máximo de las consultas */
Declare Consulta Varchar(500); 
 
Select Campo_Consulta_SQl Into Consulta
  From TablaConsultas;
 
Prepare ConsultaDinamica 
    From ' Select *  From (?) As ConsultaDinamica';
 
execute ConsultaDinamica using Consulta;
 
deallocate prepare ConsultaDinamica;


:P cosa sencilla como bien dices.

suerte

Carlosguiland 13-04-2007 23:28:49

!consultando
 
primero me disculpo de antemano!!!

Tratare de explicarme mejor.
Estoy utilizando consultas que me devuelven un valor, un ejemplo
select sueldo from empleado where cedula = XXXXXXX
dicha consulta esta almacenada en un campo otra tabla
ej:
mysql>select query from tabla_de_consultas
me retorna
! query !
!select sueldo from empleado where cedula = XXXXXXX!
pero es un varchar, lo que deseo es ejecutar ese query directamente en my consulta
ajemplo:

si ejecutando la consulta normalmente
select sueldo from empleado where cedula = 127777
me retorna
20000

de igual manera quiero ver si es posible realizarlo de la siguiente

select cedula, funcion_que_no_conosco(query) from tabla_de_consultas
y me retorne

!127777 ! 20000 !

tambien pense en crear mi propia funcion, pero quede en las mismas ya que no puedo transformar un varchar en una consulta.
espero haberme explicado mejor, saludos

poliburro 13-04-2007 23:32:18

Sip, es precisamente lo que te comprendí, y es un tipo de consulta dinámica
por eso considero que esta sería la solución a tu problema:


Código SQL [-]
 
/*Esto es un cáluclo arbitrario del tamaño máximo de las consultas */
Declare Consulta Varchar(500); 
 
Select Campo_Consulta_SQl Into Consulta
  From TablaConsultas;
 
Prepare ConsultaDinamica 
    From ' Select *  From (?) As ConsultaDinamica';
 
execute ConsultaDinamica using Consulta;
 
deallocate prepare ConsultaDinamica;

Carlosguiland 17-04-2007 22:42:27

Gracias por su ayuda, me es de mucha utilidad en mi sistema


La franja horaria es GMT +2. Ahora son las 04:40:08.

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