Função Distinct Em Access
#1
Posted 17/10/2004, 22:50
Estou com um problema com algo que alguém algum dia chamou de banco de dados. Eu acostumado a trabalhar com banco de dados decente (SQL Server e MySQL) peguei um trabalinho simples, mas que não acabei ainda porque a porcaria do Access não deixou.
Estou usando um DISTINCT dentro de uma função COUNT.
SELECT COUNT(DISTINCT campo) AS total FROM tabela
SQL Server e MySQL suportam esta instrução, mas pelo que estou vendo o Access não faz o mesmo. Será que alguém conhece algo que substitua essa função neste software tão limitado? Não quero ter que fazer o distinct na mão através do ASP.
Abraços
#2
Posted 17/10/2004, 22:54
SELECT COUNT(SELECT DISTINCT Campo FROM Tabela) AS TotalQuando a seção de banco de dados, tem sim. Por falar nisso, movido pra lá.
#3
Posted 18/10/2004, 00:17
LeoB, valeu a tentativa, mas não funciona também.
#4
Posted 18/10/2004, 00:24
#5
Posted 18/10/2004, 11:00
Porque não é só isso que a consulta tem que me retornar.É, agora testei aqui e também não foi. Se é ASP, por que você não seleciona com o DISTINCT e pega a quantidade com um Rs.Recordcount?
Eu tenho uma tabela que já foi modelada de um jeito gambiarrado que tem Usuário e Data. Ela loga a data que os usuários fizeram login no sistema.
Eu preciso gerar um relatório dizendo quando usuários logaram numa determinada data e o Distinct entra porque eu não posso repetir os usuários.
Abraços
#6
Posted 18/10/2004, 11:03
http://forum.wmonlin...hp?showforum=51
Mero mortal!
#7
Posted 18/10/2004, 11:07
select max(data) as ultimoacesso, count(*) as totalacessos, usuario from logacessos group by usuario
Mero mortal!
#8
Posted 18/10/2004, 12:06
Mero mortal!
#9
Posted 18/10/2004, 13:17
Eu não preciso apenas do última dia, mas sim de todos. Seria um log de acesso.
Vou exemplificar o banco de dados
user data
prog 12/10/2004 15:40
prog 12/10/2004 12:50
tucaz 12/10/2004 15:00
prog 12/10/2004 15:40
prog 12/10/2004 18:00
tucaz 13/10/2004 15:00
tucaz 13/10/2004 18:00
prog 13/10/2004 18:00
joao 13/10/2004 17:20
Nesse caso eu deveria ter um resultado assim
Total Data
2 12/10/2004
3 13/10/2004
Por esse motivo eu preciso do distinct. Se fosse qualquer outro banco diferente da porcaria do Access isso já teria sido feito.
Abraços
#10
Posted 18/10/2004, 13:46
E quem foi que lhe disse que não pode usar * em funções? Acho que o correto é "em algumas funções".
Lista todos os acessos por dia, sem relação com usuário:
select count(*) as totalacessos, Format(Data,'dd/mm/yyyy') from logacessos group by Format(Data,'dd/mm/yyyy')
Lista todos os acessos por dia, de um determinado usuário:
select count(*) as totalacessos, Format(Data,'dd/mm/yyyy') from logacessos where usuario='nome_usuario' group by Format(Data,'dd/mm/yyyy')
Mero mortal!
#11
Posted 18/10/2004, 13:58
Ficou claro? Se não eu tento explicar um pouco mais.
Pra ilustrar:
http://www.agenciaw8...br/yepp/ver.asp
De uma olhada. Essa consulta deveria apenas me retornar 1 como total no dia 18 e 3 como total no dia 17 pois apenas os usuários diferentes deveriam ser contados. Tente clicar no dia que irá pra um link que detalha um pouco mais o dia e você irá compreender direitinho o que deve ser feito.
Abraços e obrigado pela boa vontade!
#12
Posted 18/10/2004, 14:21
cons_AcessoUsuarioDia
cons_AcessoUnicoDia
Attached Files
Mero mortal!
#13
Posted 18/10/2004, 15:21
Abraços
#14
Posted 18/10/2004, 16:30
Funcionou fazendo o Select a partir de uma consulta pronto. Muito bom! Valeu Prog.
Abraços
#15
Posted 22/05/2007, 00:39
lojaDB.Execute("SELECT DISTINCT(ped_id), * FROM pedidos WHERE id LIKE '%" & Request.QueryString("procurar") & "%' OR ped_id LIKE '%" & Request.QueryString("procurar") & "%' OR data_ped LIKE '%" & Request.QueryString("procurar") & "%' OR status LIKE '%" & Request.QueryString("procurar") & "%' OR user_id LIKE '%" & Request.QueryString("procurar") & "%' OR user_id LIKE '%" & user_id & "%'OR prod_id LIKE '%" & Request.QueryString("procurar") & "%' OR prod_id LIKE '%" & prod_id & "%' OR prod_preco LIKE '%" & Request.QueryString("procurar") & "%' OR prod_quant LIKE '%" & Request.QueryString("procurar") & "%'")
Atenciosamente
LEandro Paiva
1 user(s) are reading this topic
0 membro(s), 1 visitante(s) e 0 membros anônimo(s)