oracle sql developer: 00904. 00000 - “%s: identifiant invalide”. Où est ma faute?
Je suis en train d'essayer de trouver de ma faute.
J'obtiens ce message d'erreur:
SQL-Erreur: ORA-00904: "S1"."PARTNO": ungültiger Bezeichner
00904. 00000 - "%s: identifiant invalide"
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
Est
oui, il est. j'ai utilisé "partno" dans d'autres requêtes sql, et il n'y a pas de problèmes.
partno
le droit d'orthographe? Pourrait être une faute de frappe d'erreur.oui, il est. j'ai utilisé "partno" dans d'autres requêtes sql, et il n'y a pas de problèmes.
OriginalL'auteur user3617496 | 2014-05-08
Vous devez vous connecter pour publier un commentaire.
Parce que vous avez des alias dans la sélection interne (s1)
partno
comme"Partno"
vous devez vous référer à elle comme à la casse dans la requête externe:avez-vous changé tous les trois références?
oui, j'ai fait changer toutes les trois références
bien que l'exécution de code n'est pas une erreur; c'est un
ORA-00979: not a GROUP BY expression
- vous n'avez pas d'agrégat dans la requête externe de sorte que vous n'avez pas besoin de la finalegroup by
à tous. Vous n'obtiendrez pas la même erreur que vous aviez avant, certainement pas avec le même identifiant.OriginalL'auteur A.B.Cade
Si vous mettez des guillemets autour du nom de la colonne, il sera sensible à la casse. Donc, je pense que cette ligne:
est la création d'un casse s1."Partno" mais le
where
clause est à la recherche de s1.partno. Essayez de supprimer les guillemets doubles à partir de votre alias de colonne.href="http://sqlfiddle.com/#!4/7b5c9/1" >les requêtes à partir de ces deux réponses sont valables si le surplus de
group by
est supprimé. Si vous avez fait ce changement, vous ne pouvez pas obtenir exactement la même erreur.OriginalL'auteur Glenn