borges02 0 Denunciar post Postado Abril 3, 2009 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
koga021 0 Denunciar post Postado Abril 3, 2009 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
borges02 0 Denunciar post Postado Abril 3, 2009 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
Mário Monteiro 179 Denunciar post Postado Abril 4, 2009 isso mesmo o TOPnao funcionará e sim com LIMIT o IN esta normal Compartilhar este post Link para o post Compartilhar em outros sites
borges02 0 Denunciar post Postado Abril 14, 2009 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
hinom 5 Denunciar post Postado Abril 14, 2009 http://forum.imasters.com.br/public/style_emoticons/default/seta.gif http://forum.imasters.com.br/index.php?showtopic=339285 Compartilhar este post Link para o post Compartilhar em outros sites