luciano2002 Postado Janeiro 3, 2013 Denunciar Share Postado Janeiro 3, 2013 Olá pessoal alguém poderia me ajudar com esta clausulafazem dias que tento e não estou conseguindo mesmopreciso que pegue 12 registros do banco sem repeti-losveja minha linha: PESQUISAR = "SELECT distinct TOP 12 * FROM tabela ORDER BY Rnd(Int(Now()*[iD])-Now()*[iD]) "veja o erro:[Microsoft][Driver ODBC para Microsoft Access] Cláusula ORDER BY (Rnd(Int(Now()*[iD])-Now()*[iD])) em conflito com DISTINCT. distinct não bica com ORDER , muito obrigado mesmo Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Marcelo_2 Postado Janeiro 5, 2013 Denunciar Share Postado Janeiro 5, 2013 distinct não bica com ORDERcara.. nada a ver.. é erro básico de lógica na SQL..OU ordena por 1 criterio:TOP 12 *ou ordena Randomicamente:ORDER BY Rndmas explica melhor ahe o q você ta querendo fazer.falou, fui.. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 luciano2002 Postado Janeiro 5, 2013 Autor Denunciar Share Postado Janeiro 5, 2013 distinct não bica com ORDERcara.. nada a ver.. é erro básico de lógica na SQL..OU ordena por 1 criterio:TOP 12 *ou ordena Randomicamente:ORDER BY Rndmas explica melhor ahe o q você ta querendo fazer.falou, fui..Olá Marcelo muito obrigado por sua ajuda,bom tenho um banco access e gostaria que listasse 12 registros aleatoriamente cada vez que eu entrasse na paginameu banco esta ssim na tabelaIDtitulodescricaoentão fiz assim funciona uma beleza mais repete : PESQUISAR="SELECT TOP 12 * FROM tabela order by Rnd(Int(Now()*[iD])-Now()*[iD]) " o campo titulo repete, o Rnd(Int(Now()*[iD])-Now()*[iD]) não roda se não for campo numerico corretoentão fiz assim, funciona mais não fica aleatorio:PESQUISAR="SELECT distinct TOP 8 * FROM tabela "novamente agradeço muito sua ajudaobrigado Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Marcelo_2 Postado Janeiro 5, 2013 Denunciar Share Postado Janeiro 5, 2013 cara.. n sei se eu entendi bem, mas tenta assim:select top 12 titulo from tabela order by rnd (id)retona o q q da, falou? Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 luciano2002 Postado Janeiro 7, 2013 Autor Denunciar Share Postado Janeiro 7, 2013 cara.. n sei se eu entendi bem, mas tenta assim:select top 12 titulo from tabela order by rnd (id)retona o q q da, falou?valeu mesamo por sua ajuda mais ainda não consegui PESQUISAR = "select top 9 id from tabela order by rnd (id) "não dá aleatorionovemente obrigado Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Marcelo_2 Postado Janeiro 7, 2013 Denunciar Share Postado Janeiro 7, 2013 (editado) cara.. d boa.. ultima tentativa.. ate onde eu sei "aleatório" seria isso:(ate porque a questão parece q é d SQL, n d ASP):1ª execução:2ª execução:3ª:etc...a n ser q n seja nada disso q você está querendo...obs 1:minha sugestão:select top 12 TITULO from tabela order by rnd (id) ou: select top 12 * from tabela order by rnd (id) n entendi porque: PESQUISAR = "select top 9 ID from tabela order by rnd (id) "obs 2:minha tabela=campo id é chave primaria (autonumeração, unico, portanto);resto texto Editado Janeiro 8, 2013 por Marcelo_2 Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 luciano2002 Postado Janeiro 8, 2013 Autor Denunciar Share Postado Janeiro 8, 2013 isso mesmo, só que onde esta titulo existem nomes iguais que é justamente o qual não poderia repetirtipo isso:Teste5Teste6Teste2Teste1Teste9Teste5Teste5Teste1........assim por diantecomo é campo textos é onde ta dando o bailevaleu mesmo pela ajudacara.. d boa.. ultima tentativa.. ate onde eu sei "aleatório" seria isso:(ate porque a questão parece q é d SQL, n d ASP):1ª execução:2ª execução:3ª:etc...a n ser q n seja nada disso q você está querendo...obs 1:minha sugestão:select top 12 TITULO from tabela order by rnd (id) ou: select top 12 * from tabela order by rnd (id) n entendi porque: PESQUISAR = "select top 9 ID from tabela order by rnd (id) "obs 2:minha tabela=campo id é chave primaria (autonumeração, unico, portanto);resto texto Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Marcelo_2 Postado Janeiro 11, 2013 Denunciar Share Postado Janeiro 11, 2013 como é campo textos é onde ta dando o baileaaahe.. ta.. foi mal cara.. agora q entendi a bronca..mas... cara sabe.. d boa... tenta se aprofundar 1 pouco mais..conhecer os recursos q a SQL tem.. as ferramentas q t fornece..bom, se ainda n resolveu, vi teu tópico em outro forum.. ahe vi essa dica:http://forum.imasters.com.br/topic/483620-...ost__p__1924062(post # 7)testei aqui e funfou d boa.. tentahe.. falou, fui.. Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 bareta Postado Janeiro 16, 2013 Denunciar Share Postado Janeiro 16, 2013 já tentou group ao invés de distinct ? Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
luciano2002
Olá pessoal alguém poderia me ajudar com esta clausula
fazem dias que tento e não estou conseguindo mesmo
preciso que pegue 12 registros do banco sem repeti-los
veja minha linha:
PESQUISAR = "SELECT distinct TOP 12 * FROM tabela ORDER BY Rnd(Int(Now()*[iD])-Now()*[iD]) "
veja o erro:
[Microsoft][Driver ODBC para Microsoft Access] Cláusula ORDER BY (Rnd(Int(Now()*[iD])-Now()*[iD])) em conflito com DISTINCT.
distinct não bica com ORDER ,
muito obrigado mesmo
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.