Erro de Sintaxe

SQL Server

23/08/2005

O que esta de errado ?

DECLARE @QT VARCHAR(1) , @RA VARCHAR(10)

SELECT @RA = EALUBOLSA.MATALUNO, @QT = COUNT(*),
CASE
WHEN @QT = ´2´ THEN ´S´
WHEN @QT = ´1´ THEN ´N´
END

FROM EALUBOLSA

WHERE EALUBOLSA.PERLETIVO IN (´2005´,´2005/2´)
AND EALUBOLSA.CODSERVICO = ´3´
GROUP BY EALUBOLSA.MATALUNO
ORDER BY EALUBOLSA.MATALUNO

Erro
------
Server: Msg 141, Level 15, State 1, Line 12
A SELECT statement that assigns a value to a variable must not be combined with data-retrieval operations.
-------


Desde já grato!


Jbb

Jbb

Curtidas 0

Respostas

Rjun

Rjun

23/08/2005

Acredito q vc não possa colocar variáveis dentro do case. Você teria q fazer da seguinte maneira.

SELECT 
  EALUBOLSA.MATALUNO, 
  COUNT(*) AS TOTALALUNO, 
  CASE 
    WHEN COUNT(*) = ´2´ THEN ´S´ 
    WHEN COUNT(*) = ´1´ THEN ´N´ 
  END
FROM 
  EALUBOLSA 
WHERE 
  EALUBOLSA.PERLETIVO IN (´2005´,´2005/2´) AND 
  EALUBOLSA.CODSERVICO = ´3´ 
GROUP BY 
  EALUBOLSA.MATALUNO 
ORDER BY 
  EALUBOLSA.MATALUNO 



GOSTEI 0
Jbb

Jbb

23/08/2005

Desta maneria fiz + preciso das variáveis.....

Rs.


GOSTEI 0
Rjun

Rjun

23/08/2005

Use as variáveis então, mas não as coloque no CASE.


GOSTEI 0
Jbb

Jbb

23/08/2005

+ Vc não tem idéias ????

Já resolvi utilizando table temporária....

Abs.


GOSTEI 0
POSTAR