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 24-10-2007
JESUSNET JESUSNET is offline
Miembro
 
Registrado: ago 2007
Posts: 29
Poder: 0
JESUSNET Va por buen camino
problemas con select distinct en acces y adoquery

hola a todos estoy tratando de hacer una consulta a varias tablas en access usando adoquery pero no me funciona me ignora el select disctinct ya que me arroja los datos repetidos, no se cual será el problema, este es el codigo que uso:
Código Delphi [-]
datamodule2.ADOQueryrepresultados.Close;
   datamodule2.ADOQueryrepresultados.SQL.Clear;
   datamodule2.ADOQueryrepresultados.SQL.Add('Select DISTINCTROW detalles_resultados_emitidos.codigo_clasificacion,detalles_resultados_emitidos.codresultado,detalles  _resultados_emitidos.codigo_subclasificacion,');
   datamodule2.ADOQueryrepresultados.SQL.Add('resultados_emitidos.codresultado,resultados_emitidos.codr  esultado2,resultados_emitidos.fecha_emision,');
   datamodule2.ADOQueryrepresultados.SQL.Add('resultados_emitidos.cedula_paciente,resultados_emitidos.c  odigo_convenio,resultados_emitidos.observaciones,resultados_emitidos.anulado,resultados_emitidos.imp  reso,');
   //datamodule2.ADOQueryrepresultados.SQL.Add('DISTINCTROW(detalles_resultados_emitidos.codresultado),de  talles_resultados_emitidos.codigo_clasificacion,detalles_resultados_emitidos.codigo_subclasificacion  ,');
   datamodule2.ADOQueryrepresultados.SQL.Add('pacientes.cedula,pacientes.nombres,pacientes.direccion,pa  cientes.telefono,convenios.codigo,convenios.razon_social,convenios.rif,convenios.direccion,convenios  .telefono');
   datamodule2.ADOQueryrepresultados.SQL.Add('from resultados_emitidos,detalles_resultados_emitidos,pacientes,convenios');
   datamodule2.ADOQueryrepresultados.SQL.Add('where resultados_emitidos.cedula_paciente=pacientes.cedula');
   datamodule2.ADOQueryrepresultados.SQL.Add('and resultados_emitidos.codresultado = detalles_resultados_emitidos.codresultado');
   datamodule2.ADOQueryrepresultados.SQL.Add('and detalles_resultados_emitidos.codresultado = resultados_emitidos.codresultado');
   datamodule2.ADOQueryrepresultados.SQL.Add('and resultados_emitidos.codigo_convenio = convenios.codigo');
   datamodule2.ADOQueryrepresultados.SQL.Add('and resultados_emitidos.fecha_emision >= :fecha1');
   datamodule2.ADOQueryrepresultados.SQL.Add('and resultados_emitidos.fecha_emision <= :fecha2');
   datamodule2.ADOQueryrepresultados.SQL.Add('and resultados_emitidos.impreso = :impreso');
   datamodule2.ADOQueryrepresultados.SQL.Add('and detalles_resultados_emitidos.codigo_clasificacion = :codigo_clasificacion');
   datamodule2.ADOQueryrepresultados.SQL.Add('and resultados_emitidos.anulado = :anulado');
   codigo_clasificacion:=strtoint(dbecodigoclasificacion.text);
   datamodule2.ADOQueryrepresultados.Parameters.ParamByName('fecha1').value := datetostr(represultadosemitidos.DateTimePicker1.Date);
   datamodule2.ADOQueryrepresultados.Parameters.ParamByName('fecha2').value := datetostr(represultadosemitidos.DateTimePicker2.Date);
   datamodule2.ADOQueryrepresultados.Parameters.ParamByName('impreso').value := impreso;  //si
   datamodule2.ADOQueryrepresultados.Parameters.ParamByName('codigo_clasificacion').Value :=codigo_clasificacion;
   datamodule2.ADOQueryrepresultados.Parameters.ParamByName('anulado').value := anulado;//no
   datamodule2.ADOQueryrepresultados.Open;

lo que quiero es hacer lo siguiente:

si en la tabla resultados_emitidos tengo:
codresultado paciente
1 17988645
2 15485655

y en la tabla detalles_resultados_emitidos tengo
codresultado codigo_clasificacioon codigo_subclasificacion
1 1 1
1 1 2
1 1 3
2 2 4
2 3 7
2 1 5

lo que necesito es saber el resultado_emitido donde contenga la clasificacion especificada en el parametro por ejemplo si le digo que me arroje los resultados con codigo_clasificacion=1 me dija:

codresultado paciente
1 17988645
2 15485655

si le digo que solo los de clasificacion=3
codresultado paciente
2 15485655

pero me bota varias veces el mismo resultado_emitido cuantas veces halla el codigo_clasificacion por ejemplo me los bota así si le digo clasificacion=1:
codresultado paciente
1 17988645
1 17988645
1 17988645
2 15485655

lo he intentado asi distinct(detalles_resultados_emitidos.codigo_clasificacion)
distinctrow(detalles_resultados_emitidos.codigo_clasificacion)
y de otras foarmas y nada, sigue igual, si alguien puede ayudarme a ver donde esta el problema se lo agradeceria.
Responder Con Cita
  #2  
Antiguo 24-10-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
Postear dos veces la misma pregunta no acelerará las respuestas.
__________________
Conoce mi blog http://www.edgartec.com
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
Problemas con tabla Acces silviodp Tablas planas 8 25-08-2007 00:14:48
Problemas al listar desde un ADOQuery cai Impresión 2 13-06-2005 18:31:16
Problemas al hacer SELECT con ADOQuery hunabku Conexión con bases de datos 1 18-05-2005 01:08:28
Select Count (distinct X) lunatiko SQL 2 17-10-2004 21:06:45
Problemas con Adoquery sergio_015 Conexión con bases de datos 4 04-07-2003 21:34:17


La franja horaria es GMT +2. Ahora son las 21:09:36.


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