Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 14-09-2007
eldiegofg eldiegofg is offline
Miembro
 
Registrado: mar 2007
Ubicación: Colón - Entre Ríos
Posts: 54
Poder: 18
eldiegofg Va por buen camino
consulta a un query en vez de a una tabla

Hola gente, hay alguna forma de hacer un query a un query que esta en memoria?? o sea, hacer un select * from query1 o algo similar?
Responder Con Cita
  #2  
Antiguo 14-09-2007
Avatar de poliburro
[poliburro] poliburro is offline
Miembro Premium
 
Registrado: ago 2004
Ubicación: México D.F
Posts: 3.068
Poder: 23
poliburro Va por buen camino
Para poderte ayudar más efectivamente, podrias comentarnos cuál es la razón por la que quieres hacer eso? (Pueden existir soluciones alternativas), y otra más es comentarnos la base de datos que utilizas.
__________________
Conoce mi blog http://www.edgartec.com
Responder Con Cita
  #3  
Antiguo 14-09-2007
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is online now
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.286
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Si ya lo tienes en memoria que yo sepa no.
No se si utilizando TClientDataSet tendrás opciones para filtrar y demás.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #4  
Antiguo 14-09-2007
nemesio nemesio is offline
Miembro
 
Registrado: nov 2005
Ubicación: Isla de Margarita, Venezuela
Posts: 377
Poder: 19
nemesio Va por buen camino
Si ya lo tienes en memoria y lo que deseas es obtener ciertos registros, entonces aplicale un filtro y asunto resuelto.

Saludos.
Responder Con Cita
  #5  
Antiguo 15-09-2007
eldiegofg eldiegofg is offline
Miembro
 
Registrado: mar 2007
Ubicación: Colón - Entre Ríos
Posts: 54
Poder: 18
eldiegofg Va por buen camino
Hola, gracias por su atencion. Paso a explicar mas detalladamente el tema.

Estoy queriendo ejecutar una consulta que mi base de datos no soporta (no se por que, pero bueno...). Cuando quiero abrirla me da un error y la sintaxis esta bien.

Código SQL [-]
SELECT DISTINCT N_HAB FROM HABITACIONES WHERE N_HAB NOT IN((SELECT NHABITACION FROM RESERVAS WHERE FECHA BETWEEN :FI AND :FF) UNION (SELECT NHABITACION FROM ESTADIAS WHERE FECHA BETWEEN :FI AND :FF))
El error que tira es:"Invalid use of keyword, Token: (SELECT"Alternativamente, para hacerlo funcionar de alguna forma, queria hacer una consulta en dos partes (o sea, dos consultas). LA primera haciendo la UNION entre Reservas y Estadias y luego desde otra consulta seleccionar los datos con el NOT IN.
Es por eso que hacia la consulta, me podran ayudar?
Responder Con Cita
  #6  
Antiguo 15-09-2007
Avatar de mightydragonlor
[mightydragonlor] mightydragonlor is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Medellín-Colombia
Posts: 587
Poder: 18
mightydragonlor Va por buen camino
Tengo entendido que es posible crear una tabla virtual, y luego hacerle cualquier consulta pero no tengo los códigos, pero si no estoy mal en la Cara Oculta de Delphi lo encuentras.
Responder Con Cita
  #7  
Antiguo 15-09-2007
Avatar de gmontes
gmontes gmontes is offline
Miembro
 
Registrado: jul 2004
Ubicación: Culiacán, Sinaloa, México
Posts: 668
Poder: 20
gmontes Va por buen camino
crea un procedimiento en tu base de datos y luego esta la puedes consultar como si fuera una tabla mas.


procedimiento en la base de datos.

icodigo parametro de entrada.

***procedimiento kardex***

begin
/* Procedure Text */
nvariable = 0.0;
for select clavemi, codigo, fechadoc, tipo, referencia, cantidad, precio, documento, mov
from cmovinv where codigo = :icodigo order by clavemi
into :sclavemi, :scodigo, :sfechadoc, :stipo, :sreferencia, :scantidad, :sprecio, :sdocumento, :smov
do
begin
if (:smov = 'E') then
nvariable = nvariable + scantidad;
else
nvariable = nvariable - scantidad;
sexist = nvariable;
suspend;
end
end


y el codigo:


with DMSIU.zroqryListados do
begin
Close;
SQL.Clear;
DMSIU.cdsClientes.Active:=false;

SQL.Add('select scodigo, sfechadoc, stipo, sreferencia, sdocumento, sprecio,smov, scantidad, sexist, sclavemi from kardex('''+sDaCodigo+''') ');

Open;
__________________
Todos llevamos nuestros demonios a cuestas..

Última edición por gmontes fecha: 15-09-2007 a las 20:09:36.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Actualizar una tabla con una consulta de otra tabla JODELSA SQL 2 14-09-2006 04:07:01
Tabla externa en query llonigualker Conexión con bases de datos 3 28-04-2006 12:14:22
Consulta de Query marceloalegre SQL 3 06-02-2006 16:38:37
Tengo una consulta en un query ElDioni SQL 3 12-07-2005 11:41:34
Consulta con una variable en un Query Ricsato SQL 3 25-11-2003 22:47:37


La franja horaria es GMT +2. Ahora son las 12:05:38.


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
Copyright 1996-2007 Club Delphi