LukeSkywalker Postado Agosto 8, 2005 Denunciar Share Postado Agosto 8, 2005 Prezados ColegasTenho uma tabela com o ID. Esse campo não é auto numerado. Preciso listar somente registros cujo campo ID tenha valores repetidos. Ou seja se tiver outro registro na tabela com o mesmo ID preciso que esses registros sejam listados.tem como montar uma instrução SQL pra isso ?Obrigado.Mauro Junior Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Guest Guest Postado Agosto 8, 2005 Denunciar Share Postado Agosto 8, 2005 sql = "select * from TABELA" set tab = conexao.execute(sql) contador=0 while not tab.eof if tab("id") = 1 then response.write tab("id") & "<br>" contador = contador + 1 end if tab.movenext wend if contador= 0 then response.write "não existem dados" end if ou sql = "select * from TABELA where id=1" set tab = conexao.execute(sql) contador=0 while not tab.eof response.write tab("id") & "<br>" contador = contador + 1 tab.movenext wend if contador=0 then response.write "não existem dados" end if Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 LukeSkywalker Postado Agosto 8, 2005 Autor Denunciar Share Postado Agosto 8, 2005 Com todo respeitoNão falei nada sobre contador de registros...desculpe leia novamente a dúvida cho que expliquei o que preciso..se alguém puder me ajudar Agradeço Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 DELPHI-Man32 Postado Agosto 8, 2005 Denunciar Share Postado Agosto 8, 2005 bom, você quer ver todos os registros repetidos, não é isso?só eles?você poderia fazer como numa pesquisa, não?ID = request.form("id")sql = "select * from Tabela Where id="&IDSet RS = Server.......(você já sabe..)RS.open sql, Conn, ....(você também já sabe)depois lista usando um (While...movenext)se não for isso, então quando achar um jeitinho posta ai, falows! Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 .Andreia. Postado Agosto 8, 2005 Denunciar Share Postado Agosto 8, 2005 Com todo respeitoNão falei nada sobre contador de registros...desculpe leia novamente a dúvida cho que expliquei o que preciso..se alguém puder me ajudar Agradeço ai ai ai...... eu coloquei um contador pra depois fazer a verificação dos registros..... se você não coloca um contador e a sua tabela retorna 0 resultados a tela irá dar erro.... Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 .Andreia. Postado Agosto 8, 2005 Denunciar Share Postado Agosto 8, 2005 editando, já q sairam duas respostas..se o problema é o contador entaum: sql = "select * from TABELA" set tab = conexao.execute(sql) while not tab.eof if tab("id") = 1 then response.write tab("id") & "<br>" end if tab.movenext wend ou sql = "select * from TABELA where id=1" set tab = conexao.execute(sql) while not tab.eof response.write tab("id") & "<br>" tab.movenext wend E tb com todo o respeito, teste antes de postar. vlw Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 LukeSkywalker Postado Agosto 8, 2005 Autor Denunciar Share Postado Agosto 8, 2005 Prezado ColegaDessa forma eu teria que informar todos os Possíveis IDs cadastrados ?acho meio inviável numa tabela com mais de 80.000 cadastros.Mesmo assim Obrigado.Eu li sobre uma instrução Group by....alguém sabe me ajudar ?Obrigado Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 .Andreia. Postado Agosto 8, 2005 Denunciar Share Postado Agosto 8, 2005 Prezado ColegaDessa forma eu teria que informar todos os Possíveis IDs cadastrados ?acho meio inviável numa tabela com mais de 80.000 cadastros.Mesmo assim Obrigado.Eu li sobre uma instrução Group by....alguém sabe me ajudar ?Obrigado Luke...eu coloquei 1 para exemplo. Se por exemplo você tem um form antes, é por ele informar qual a id. ai sim ficariasql = "select * from TABELA where id= " & Request.form("id") Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 LukeSkywalker Postado Agosto 8, 2005 Autor Denunciar Share Postado Agosto 8, 2005 A solução abaixo funcionou perfeitamente. Não preciso informar nada. Basta executar o script abaixo e os registros da coluna ID com valores repetidos serão Listados.Pode fechar o tópico. valeu pela ajuda gente<!--#include file="conexao.inc"--><%dim conexaodbcall abreConexao'***** Recuperando os valores da Coluna(id) que são repetidos e armazenando na query(record set) rsSQLsql = "SELECT id, COUNT(*) FROM tabNome GROUP BY id HAVING COUNT(*) > 1 ORDER BY id desc" set rsSQL = conexaodb.execute(sql)'*****Percorrendo a query rsSQL e armazenando os valores da coluna ID em uma variável para montar a instrução SQL que Listará os dados de todos os registros com os IDS ecnontrados na query acimaif not rsSQL.eof then '*** Se tiver alguma coisa a query vai pro primeiro registrorsSql.moveFirstdo while not rsSql.eof '******Loop percorrendo a query e armazenando os Ids na variávelvarIdsRepetidos = varIdsRepetidos & rsSql("id")&","rsSql.movenextloopend if'*******Eliminando a última vírgula para montagem correta da Instrução varIdsRepetidos =left(varIdsRepetidos,(len(varIdsRepetidos)-1)) '****Montando Intrução para recuperar todas as colunas dos registros com os Ids RepetidossqlRepetidos = "SELECT * FROM tabNome WHERE id IN("&varIdsRepetidos&")"set rsRepetidos = conexaodb.execute(sqlRepetidos)'****Exibindo os dados dos Registros encontrados aqui só mandei imprimir na tela no navegador.do while not rsRepetidos.eofresponse.write rsRepetidos("Nome") & " "&rsRepetidos("codigo") & " "&rsRepetidos("id")&"<br>"rsRepetidos.moveNextloop%> Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
LukeSkywalker
Prezados Colegas
Tenho uma tabela com o ID. Esse campo não é auto numerado. Preciso listar somente registros cujo campo ID tenha valores repetidos. Ou seja se tiver outro registro na tabela com o mesmo ID preciso que esses registros sejam listados.
tem como montar uma instrução SQL pra isso ?
Obrigado.
Mauro Junior
Link para o comentário
Compartilhar em outros sites
8 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.