Ir para conteúdo

POWERED BY:

Arquivado

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

Eиcrypted

Sobre query

Recommended Posts

Olá pessoal,estou com um pequeno problema na query,

 

SELECT DISTINCT TOP 100 CharName FROM [SoD2DB].[dbo].[SOD2RecBySandurr] WHERE Point != '0' ORDER by Point DESC

Vai dar erro, porque eu não declarei o campo Point, porém se eu declarar, vai exibir os "CharName" repetidos, porque os pontos são diferentes, alguém sabe como resolver isso?

 

Obrigado :)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta

 

SELECT DISTINCT TOP 100 CharName FROM

(SELECT CharName,Point FROM [soD2DB].[dbo].[sOD2RecBySandurr]

WHERE Point != '0'

ORDER by Point DESC)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenta

 

SELECT DISTINCT TOP 100 CharName FROM

(SELECT CharName,Point FROM [soD2DB].[dbo].[sOD2RecBySandurr]

WHERE Point != '0'

ORDER by Point DESC)

 

The ORDER BY clause is invalid in views, inline functions, derived tables, subqueries, and common table expressions, unless TOP or FOR XML is also specified., SQL state 37000 in SQLExecDirect

Compartilhar este post


Link para o post
Compartilhar em outros sites

Pelo visto TOP e ORDER BY de coluna fora do SELECT não são permitidos.

 

Tirou o ORDER BY para ver o que ele faz ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

czt o sql server não aceita o order by em sub-queries e afins, uma forma de contornar isso é usar uma tabela temporaria

 

SELECT CharName,Point INTO #TB_TEMP FROM [soD2DB].[dbo].[sOD2RecBySandurr] 
WHERE Point != '0' 
ORDER by Point DESC

SELECT DISTINCT TOP 100 CharName FROM #TB_TEMP

DROP TABLE #TB_TEMP

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.