W standardzie SQL identyfikatory muszą być ujęte w cudzysłów (" ). A baza danych Oracle jest zgodna z tamtejszym standardem.
Pojedyncze cudzysłowy (' ) są dla stałych znakowych, np. tak jak w semester='Spring' , nie mogą nie być używane do identyfikatorów, takich jak nazwy kolumn, nazwy tabel lub aliasy kolumn.
Musisz więc użyć:
classes.limit-classes.class_size as "seats_available"
W rzeczywistości nie potrzebujesz jednak podwójnych cudzysłowów, ponieważ Twój identyfikator nie zawiera żadnych nieprawidłowych znaków, więc
classes.limit-classes.class_size as seats_available
będzie działać równie dobrze
Niezwiązane, ale:liczby nie być ujęty w pojedyncze cudzysłowy 2017 jest stałą liczbową, '2017' jest stałą łańcuchową. Powinieneś więc użyć where year = 2017 zamiast tego