Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Christiano Nunes

[Resolvido] Não repetir registros

Recommended Posts

Pessoal faço uma consulta e listo umas noticias.. certo? beleza...

ai faço outra consulta e digo para não pegar noticias que foram

listadas na consulta anterior... (strcodnoticia1)..

Mas não funciona... vejam o que há de errado no código abaixo:

 

ASP
<%

Set noticias1= Server.CreateObject("ADODB.Recordset")

SQL2 = "SELECT * FROM noticia where cod_tiponoticia =8 AND cod_noticia <>"& strcodnoticia &" ORDER BY cod_noticia desc"

 

noticias1.Open SQL2, Conexao, 3

 

strcodnoticia1 = noticias1("cod_noticia")

 

%>

 

<%= noticias1("descricao")%>

 

<%

noticias1.movenext

end if

Next

 

%>

 

<%

Set noticias2= Server.CreateObject("ADODB.Recordset")

SQL3 = "SELECT * FROM noticia where cod_tiponoticia =8 AND cod_noticia <>"& strcodnoticia &" AND cod_noticia <>"& strcodnoticia1 &" ORDER BY cod_noticia desc"

 

noticias2.Open SQL3, Conexao, 3

%>

 

Alguém pode me ajudar??

 

Grato.

Compartilhar este post


Link para o post
Compartilhar em outros sites

é que voce so esta retirando da proxima consulta o ultimo registro da anteriorvoce pode concatenar tudo separando por virgulas e na outra consulta utiliza um NOT IN para retirar o que ja foi usado

Compartilhar este post


Link para o post
Compartilhar em outros sites

é que voce so esta retirando da proxima consulta o ultimo registro da anteriorvoce pode concatenar tudo separando por virgulas e na outra consulta utiliza um NOT IN para retirar o que ja foi usado

Q??? nao entendi o "concatenar" e tb nao entendi o "not in" como faz isso?valeu ai, pelo menos ja surgiu uma luz no fim do tunel...rsAbraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

isso ta dentro de um laço de repetição certo?

 

ASP
strcodnoticia1 = noticias1("cod_noticia")

 

entao muda para isso

 

ASP
strcodnoticia1 = strcodnoticia1 & "," & noticias1("cod_noticia")

 

e depois no SQL3 voce troca de

 

ASP
SQL3 = "SELECT * FROM noticia where cod_tiponoticia =8 AND cod_noticia <>"& strcodnoticia &" AND cod_noticia <>"& strcodnoticia1 &" ORDER BY cod_noticia desc"

 

para

 

ASP
SQL3 = "SELECT * FROM noticia where cod_tiponoticia =8 AND cod_noticia <>"& strcodnoticia &" AND cod_noticia NOT IN ("& MID(strcodnoticia1,2) &") ORDER BY cod_noticia desc"

 

veja se é isso se der algum erro posta aqui

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara valeu demais... deu certim!! Muito, muito obrigado!!!Se nao for pedir demais, você poderia me explicar essas duas partesdo código:strcodnoticia1 = strcodnoticia1 & "," & noticias1("cod_noticia")e cod_noticia NOT IN ("& MID(strcodnoticia1,2) &")Só quero entender porq deu certo!! Esse NOT IN nunca tinha visto!Abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

tranquilo

 

esta parte

 

ASP
strcodnoticia1 = strcodnoticia1 & "," & noticias1("cod_noticia")

 

concatena todos os codigos separando-os por virgula, observe que vai criar uma virgula a mais antes de tudo

 

por isso usei o

 

ASP
MID(strcodnoticia1,2)

 

para retirar o primeiro caractere que será virgula

 

O IN pega apenas o gurpo de codigos que estao ali separados por virgula

 

O NOT IN é o contrario, pega tudo menos o que tiver ali

 

Abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

hummm acho q entendi... valeu heim!!Agora uma ULTIMA PERGUNTA... é a ultima mesmo viu!!Tipo se eu quiser criar uma outra consulta SQL4.. possoentao criar um outro NOT IN na consulta? ou seja terão dois NOT IN!!!Certo ou errado?Brigadão cara!!Abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

para que seria esta outra consulta?o melhor seria continuar concatenado naquela variaveldepois faria um unico NOT IN

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.