2015-04-20 1 views
-1

J'ai plusieurs écoles avec plusieurs niveaux et une variété de statuts. J'ai besoin d'obtenir le décompte de chaque note dans chaque école si le statut est -1 ou 0 Ceci est tous de la même table. 'Étudiants' J'ai besoin d'un compte si la note est égale à 0 et l'école égale à 1234 à côté de ce compte si la note égale à 1 et l'école égale à 1234 à côté de ce compte si la note égale à 2 et l'école égale à 1234 la ligne suivante serait pour une autre école, etc. ligne chaque une autre école chaque colonne un niveau de qualité de 0 à 12.SQL - une table - nombre de colonnes multiples

J'ai essayé

select Sched_NextYearGrade, 
    sum(case when Sched_NextYearGrade = ‘1’ then 1 else 0 end) as 'firstcount' 
    sum(case when Sched_NextYearGrade = '2' then 1 else 0 end) as 'secondCount' 
from Students 
Where (ENROLL_STATUS BETWEEN -1 AND 0) 
group by Sched_NextYearGrade 

Je reçois

ORA-00911: invalid character 
00911. 00000 - "invalid character" 
*Cause: identifiers may not start with any ASCII character other than 
      letters and numbers. $#_ are also allowed after the first 
      character. Identifiers enclosed by doublequotes may contain 
      any character other than a doublequote. Alternative quotes 
      (q'#...#') cannot use spaces, tabs, or carriage returns as 
      delimiters. For all other contexts, consult the SQL Language 

Quelqu'un peut-il aider? Merci d'avance

+1

Vous avez des guillemets Microsoft autour du "1" dans votre première «somme». Et vos alias de colonne sont incorrects. Si vous voulez vraiment, vraiment un alias sensible à la casse, vous devez utiliser des guillemets doubles comme "firstCount" '. Mais généralement, vous voulez éviter cela comme la peste. Il est généralement préférable d'utiliser des identificateurs insensibles à la casse normaux sans guillemets 'comme firstCount'. –

Répondre

3

‘1’ a les citations incorrectes. Ils devraient être des guillemets simples: '1'.