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-06-2004
Avatar de orfeo
orfeo orfeo is offline
Miembro
 
Registrado: may 2003
Posts: 99
Poder: 21
orfeo Va por buen camino
como contar en un campo en access sin tomar duplicados

Hola estoy en el proceso de migrar las consultas sql de BDE a ADO Jet4.

Estoy usando un db access2000 .mdb con ADO , Delphi 6 y necesito contar los valores de un campo sin que cuente mas de una ves los valores repetidos.

Código SQL [-]
 
          SELECT DISTINCT ins.doc_numero
          FROM   insren as ins
          WHERE Group By ins.doc_numero
          HAVING count(DISTINCT ins.cod_ren) =9

me tira el error: 'la funcion distinct no esta definida en la exprecion'

Alguna idea?

He leido en el foro, un truco para contar que seria hacer una vista con
'select distinctrow * from insren' y luego contar, pero esto no anda para todos lo casos que nececito.

el Jet 4 soporta un 'count(DISTINCT *)'?
porque tampoco puedo contar en un 'Select count(DISTINCT *)'
__________________
Aprendamos a ser civilizados

Última edición por orfeo fecha: 25-06-2004 a las 13:21:28.
Responder Con Cita
  #2  
Antiguo 24-06-2004
Avatar de tcp_ip_es
tcp_ip_es tcp_ip_es is offline
No confirmado
 
Registrado: ago 2003
Ubicación: Madrid
Posts: 635
Poder: 0
tcp_ip_es Va por buen camino
Lo he hecho contando los nombres iguales en una tabla y sacará los que se hayan repetido 3 veces
Código SQL [-]
select Totales.nombres, Totales.cuenta
from (select distinct(nombre) as nombres, count (*) as cuenta
from personal
group by nombre) as Totales
where Totales.cuenta=3

Espero que te sirva.... Saludos, Tony
Responder Con Cita
  #3  
Antiguo 25-06-2004
Avatar de orfeo
orfeo orfeo is offline
Miembro
 
Registrado: may 2003
Posts: 99
Poder: 21
orfeo Va por buen camino
Cita:
Empezado por tcp_ip_es
Espero que te sirva.... Saludos, Tony
Bueno, gracias por contestar, pero no es lo que necesito... (modifique el primer hilo, para que no alla confuciones)

Yo lo que necesito es que los que salen con where 'Totales.cuenta> 1' se cunten una sola ves.

ejem:

Totales.cuenta=(1,2,3,4,2,3)
'count(DISTINCT Totales.cunta)' debe retornar 4 , en cambio un 'count(Totales.cuenta)' retorna un 6

espero que esto explique mejor lo que quiero
__________________
Aprendamos a ser civilizados
Responder Con Cita
  #4  
Antiguo 25-06-2004
Avatar de marto
marto marto is offline
Miembro
 
Registrado: may 2003
Ubicación: Barcelona, Catalunya
Posts: 882
Poder: 21
marto Va por buen camino
Código SQL [-]

          SELECT count(DISTINCT ins.cod_numero)          
          FROM   insren as ins

¿Esto no te sirve?
__________________
E pur si muove
Responder Con Cita
  #5  
Antiguo 25-06-2004
Avatar de jmoran
jmoran jmoran is offline
Miembro
 
Registrado: jul 2003
Ubicación: Antequera
Posts: 20
Poder: 0
jmoran Va por buen camino
Prueba esta:

SELECT COUNT(*) AS TOTAL
FROM (SELECT DISTINCT DOC_NUMERO FROM INSREN)

Te da el número de elementos distintos de la tabla sin contar varias veces los doc_numero iguales
Responder Con Cita
  #6  
Antiguo 28-06-2004
Avatar de orfeo
orfeo orfeo is offline
Miembro
 
Registrado: may 2003
Posts: 99
Poder: 21
orfeo Va por buen camino
Cita:
Empezado por marto
Código SQL [-]

          SELECT count(DISTINCT ins.cod_numero)          
          FROM   insren as ins

¿Esto no te sirve?
no, el SQL Jet 4.0 (access2000) parece no soportarlo, como contaba tira el error: 'la funcion distinct no esta definida en la exprecion'
__________________
Aprendamos a ser civilizados
Responder Con Cita
  #7  
Antiguo 28-06-2004
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Probaste con DistinctRow

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
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
Tomar Valor de un campo a una variable pmtzg Conexión con bases de datos 5 28-05-2008 20:39:03
tomar el valor de un campo en DataGrid martindebiasi Internet 2 29-02-2008 13:02:32
Como contar por cierto campo en sql server uper MS SQL Server 2 26-04-2007 21:47:43
como jalar los tomar y jalar valores de una tabla de un campo de Busqueda en Delphi Mone Conexión con bases de datos 6 15-11-2005 19:50:46
registros duplicados en campo unico fearlex Conexión con bases de datos 3 12-08-2004 18:34:15


La franja horaria es GMT +2. Ahora son las 00:50:46.


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