J'essaie de trouver ma faute. Je reçois ce message d'erreur:
SQL-Fehler: ORA-00904: "S1". "PARTNO": ungültiger Bezeichner 00904. 00000 - "% s: identifiant non valide"
J'ai vérifié ma base de données et toutes les tables existent.
Voici mon code sql:
select s1.*
, p.city as "Produktionsort"
, p.partname
from (select count(s.partno) as "Anzahl_Produktarten"
, s.partno as "Partno"
from company.supp_part_job s
group by s.partno ) s1
, company.part p
where s1.partno IN (select p1.partno from company.part p1 where p1.city != 'London')
and p.partno = s1.partno
group by s1.partno
Parce que vous avez un alias dans la sélection interne (s1) partno
as "Partno"
vous devez vous y référer comme sensible à la casse dans la requête externe:
select s1.*
, p.city as "Produktionsort"
, p.partname
from (select count(s.partno) as "Anzahl_Produktarten"
, s.partno as "Partno"
from company.supp_part_job s
group by s.partno ) s1
, company.part p
where s1."Partno" IN (select p1.partno from company.part p1 where p1.city != 'London')
and p.partno = s1."Partno"
group by s1."Partno"
Si vous mettez des guillemets doubles autour d'un nom de colonne, cela le rendra sensible à la casse. Je pense donc que cette ligne:
s.partno as "Partno"
crée un s1 sensible à la casse. "Partno" mais la clause where
recherche s1.partno. Essayez de supprimer les guillemets doubles de vos alias de colonne.