Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > SQL
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

 
 
Herramientas Buscar en Tema Desplegado
  #7  
Antiguo 09-12-2011
Avatar de olbeup
olbeup olbeup is offline
Miembro
 
Registrado: jul 2005
Ubicación: Santiago de la Ribera (España)
Posts: 688
Poder: 21
olbeup Va camino a la fama
Cita:
Empezado por Salnhack Ver Mensaje
Hola espero que me puedan ayudar

tengo 3 tablas, Mes(id_mes,descmes), Servicios(id_servicios, descservicios), Venta(id_venta,importev,id_servicios,id_mes).

necesito mostrar la descripcion de los servicio (descservicio) incluidos en la tabla venta de un mes en especifico

estoy haciendo esto
Código Delphi [-]
// Seleciono el id del mes selecionado en un comoboBox
     with DataModule4.Query1 do
      begin
       close;
       SQL.Clear;
       SQL.Add('Select (id_mes) from mes where descmes='+ QuotedStr(suiDBLookupComboBox2.Text));
       Open;
       mes:=FieldByName('id_mes').AsInteger;
      end;

//luego realizo al siguiente consulta que me selecciona la descripcion de los servicios 

 with DataModule4.Query3 do
      begin
       Close;
       SQL.Clear;
       SQL.Add('select (descservicios) from servicios where id_servicios=venta.id_servicios and venta.id_mes=:mes');
       ParamByName('mes').AsInteger:=mes;
       Open;
     end;

cuando la ejecuto me dice que faltan parametros

por favor si alguien me pudiera decir que estoy haciendo mal se lo agradeceria
tengo el query3 conectado a otro comboBox para que me liste los servicios
A parte de todas las respuestas de los compañeros, añado mi grano de arena.
Código Delphi [-]
with DataModule4.Query1 do
begin
  Close;
  SQL.Clear;
    SQL.Add('SELECT');
    SQL.Add('    S.DESCSERVICIOS');
    SQL.Add('  FROM Venta AS V');
    SQL.Add('    INNER JOIN Servicios AS S');
    SQL.Add('      ON S.ID_SERVICIOS = V.ID_SERVICIOS');
    SQL.Add('    INNER JOIN Mes AS M');
    SQL.Add('      ON M.ID_MES = V.ID_MES');
    SQL.Add('  WHERE M.DESCMES = ' + QuotedStr(suiDBLookupComboBox2.Text));
  Open;
end;
Cómo dice AziRain, es más rápido la ejecución de una consulta SQL utilizando números, aunque la consulta que te pongo es la misma que tienes al principio pero sólo en una consulta, aunque son más líneas también es más claro.

Un saludo.
__________________
Al hacer una consulta SQL, haz que los demás te entiendan y disfruten de ella, será tú reflejo de tú saber.
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Problema con select first en Firebird egostar Firebird e Interbase 20 17-07-2007 21:55:11
Problema con Select e inner join en interbase trashky SQL 8 22-05-2007 00:12:42
problema con la consulta select count() enecumene PHP 5 01-02-2007 23:33:24
Problema con consulta not in (select ....) VRO Firebird e Interbase 12 03-10-2005 18:54:05
Problema conuna consulta select...not in (select ...) VRO Firebird e Interbase 2 11-08-2005 08:56:35


La franja horaria es GMT +2. Ahora son las 21:48:30.


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