Ir para conteúdo

POWERED BY:

Arquivado

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

borges02

[Resolvido] Comando NOT IN em MySQL!

Recommended Posts

Bom dia!

 

Alguem sabe converter esse comando de sql server para mysql: "SELECT TOP 16 CODIGOREG,NOMEREG FROM REGIAO WHERE CODIGOREG NOT IN (SELECT TOP 0 CODIGOREG FROM REGIAO ORDER BY CODIGOREG) ORDER BY CODIGOREG" ?

 

Estou usando o mysql server 6.0...

 

Desde já, agradeço pela ajuda e atenção de todos...

Muito Obrigado...

Compartilhar este post


Link para o post
Compartilhar em outros sites

esse top 16 e top 0 sao o que?

acho que se for campo com nome em numero nao deve da certo ou nome de campo com espaço tbm.

 

agora o NOT IN acho que esta certo.

araço

Compartilhar este post


Link para o post
Compartilhar em outros sites

beleza koga021?

 

Então, esse TOP pelo que entendi, seria o comando LIMIT do MySQL que no caso, serve para visualizar os primeiros 16 registros retornados.. Estou usando esse comando sql para carregar os registros de uma tabela no DataGridView em um form. quando é executado. O comando que está dentro do NOT IN serve para não deixar carregar novamente os mesmos registros, com o mesmo código...

 

Pesquisei na net e parece que o comando sql do sql server convertido para mysql fica assim: SELECT CODIGOREG, NOMEREG FROM REGIAO WHERE CODIGOREG NOT IN (SELECT CODIGOREG FROM REGIAO ORDER BY CODIGOREG LIMIT 1) ORDER BY CODIGOREG LIMIT 16....

 

Mas tem um problema, quando executo o comando sql no mysql aparece a seguinte mensagem: This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery'....

 

Então testei da seguinte forma: "SELECT CODIGOREG, NOMEREG FROM REGIAO ORDER BY CODIGOREG LIMIT 16" e deu certo, mas usando o NOT IN da erro...

 

Por que será que está dando esse erro? Será que é problema na versão que estou usando? Estou usando a útlima versão 6.0 do MySQL....

Estou usando paginação para carregar o DataGridView..

Compartilhar este post


Link para o post
Compartilhar em outros sites

isso mesmo o TOPnao funcionará e sim com LIMIT o IN esta normal

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui resolver o problema com a seguinte query: SELECT CODIGOREG, NOMEREG FROM REGIAO ORDER BY CODIGOREG LIMIT X,16...

 

Dessa forma, vou incrementando o valor de x e o DataGridView vai carregando os 16 primeiros registros por pagina e assim por diante...

 

Muito obrigado a todos pela ajuda e atenção, valeu mesmo.. Post, resolvido...

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.