[RESOLVIDO]Erro Order By em consulta

Estou fazendo um select top (1000) com order by desc, ou seja, tem que pegar só os ultimos 1000, porem o order by fica sendo jogado pra fora do select criado pelo SC, ai da erro, se eu mudar pra order by ID Desc, funciona corretamente, mas não vai pegar os ultimos mil, vai pegar os primeiros mil e colocar decrescente, não sei se é um bug ou se tenho q mudar minha logica, se tiver que mudar, alguem teria alguma ideia de como posso fazer?

Select:
image

Erro:
image

Olá,

Já tive diversos problemas para utilizar SQL mais complexo que utiliza joins e outras funcionalidades nesse select do próprio campo. O que normalmente resolve é inserir o código dentro de uma View e fazer um Select na View criada. Assim você torna o SQL mais simples e o Scriptcase não dá problema.

1 Curtida

Mas é que não posso por o order by dentro da view, imagino que o erro vá percistir, vou testar quando tiver um tempo e retorno.

Teste e realmente não funciona, ele joga o order by pra fora do select, ai busca os 1000 e depois ordena decrescente, preciso q ordene decrescentes e depois faça o select top 1000.

ao inves de buscar do 1000 ao 1 preciso que busque do 9999 ao 9000.

usando assim:
image
Ele busca do 1000 ao 1, mas só no SC, no Studio ele busca certo

Como correção paleativa posso colocar o select sem top 1000 e configurar a paginação de 1000, mas não é isso que eu preciso, preciso buscar só os ultimos 1000 e mostrar só eles, sem paginação.

image

Tenta não usar o top(1000). Ao invés disso usa limit 1000.

Você usa:

Order By ID Desc limit 1000.

Com isso, ele irá mostrar apenas as últimas 1000 linhas, claro, levando em consideração que sua pk é um auto-increment.

Estou usando SQL Server, ai o limit não funciona, tentei usar OFFSET 0 ROWS FETCH FIRST 1000 ROWS ONLY, mas volta a ocorrer o erro la do primeiro post, ele jogar o order pra fora do select e não funciona corretamente

Cria uma view com order by id desc e usa view no sql da grid

1 Curtida

Não posso usar order by dentro das views image

Pra uso imediato tive que fazer oque falei a cima, mostrar soh os 1000 primeiros resultados no SC e esconder as guias de navegação, assim o usuario não vai ver o resto, mas não deixa de ser Gambiarra.

No from em vez de tabela usa select top

2 Curtidas

Entendi, vou testar quando chegar no escritorio, obrigado.

Funcionou, obrigado.

2 Curtidas