Array
(
)

Erro de Sintaxe

Jbb
   - 23 ago 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!

Rjun
   - 23 ago 2005

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

#Código

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 


Jbb
   - 23 ago 2005

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

Rs.

Rjun
   - 23 ago 2005

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

Jbb
   - 23 ago 2005

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

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

Abs.