Fórum listar dados com nome duplicados #394010
20/01/2011
0
Pessoal, tenho um BD em Access e nele tenho uma tabela com as seguintes informações
id - N.A
assunto - Texto
data - Data/Hora
para - Texto
Fiz uma consulta num dbgrid para listar todas as informações dessa tabela, mas as informações do campo assunto podem se repetir várias vezes, então eu gostaria de listas no dbgrid só os dados cujos o campo [b]assunto[b] aparecam mais de uma vez.
Já tentei assim
SELECT COUNT(*), assunto FROM telemedicina GROUP BY assunto HAVING COUNT(*) > 1
Só q dessa forma só aparece no grid o campo assunto, caso eu tente acrescentar os outros campos dá erro.
Alguém pode me ajudar ?
Vlw
Marcos Barbosa
Curtir tópico
+ 0Posts
20/01/2011
Marco Salles
having count(*) > 1
group by campoA,CampoB,assunto é so um palpite
Gostei + 0
20/01/2011
Marcos Barbosa
Gostei + 0
20/01/2011
Marcos Barbosa
Oh, ñ sei se tem alguma coisa que influêncie, mas eu estou usando o componente ADOquery
Gostei + 0
20/01/2011
Leonardo Xavier
Gostei + 0
20/01/2011
Marcos Barbosa
SELECT Código, data, para, assunto, COUNT(*) FROM telemedicina GROUP BY Código, data, para, assunto HAVING COUNT(*) >1
Gostei + 0
20/01/2011
Leonardo Xavier
já tentou isso?
Gostei + 0
20/01/2011
Marcos Barbosa
Consegui resolver da seguinte forma:
SELECT t.* FROM telemedicina t WHERE EXISTS(SELECT COUNT(*), x.assunto FROM telemedicina x where x.assunto = t.assunto GROUP BY x.assunto HAVING COUNT(*) > 1 ) ORDER BY assunto, data
Tópido resolvido
Gostei + 0
20/01/2011
Leonardo Xavier
Gostei + 0
20/01/2011
Emerson Nascimento
de qualquer forma, vai uma tentativa:
SELECT *
FROM telemedicina
WHERE assunto IN
(SELECT assunto
FROM telemedicina
GROUP BY assunto
HAVING COUNT(*) > 1)
Gostei + 0
20/01/2011
Marco Salles
Consegui resolver da seguinte forma:
SELECT t.* FROM telemedicina t WHERE EXISTS(SELECT COUNT(*), x.assunto FROM telemedicina x where x.assunto = t.assunto GROUP BY x.assunto HAVING COUNT(*) > 1 ) ORDER BY assunto, data
Tópido resolvido
select T.Country, T.Currency from COUNTRY T Where EXISTS (SELECT count(*),x.Currency FROM COUNTRY X Where X.CURRENCY = T.CURRENCY GROUP BY X.CURRENCY HAVING COUNT(*) > 1 ) ORDER BY T.Country
Obrigado Tb
Gostei + 0
21/01/2011
Marcos Barbosa
Vlw.
Gostei + 0
21/01/2011
Marcos Barbosa
Vlw.
Gostei + 0
21/01/2011
Pjava
Select distinct.....
Gostei + 0
21/01/2011
Wilson Junior
Espero ter colaborado.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)