l'instruction sql d'erreur: la colonne “ .. n'existe pas”

Im essayant de postgres console cette commande:

select sim.id as idsim, 
       num.id as idnum 
from main_sim sim 
  left join main_number num on (FK_Numbers_id=num.id);

et j'ai eu cette réponse:

ERREUR: la colonne "fk_numbers_id" n'existe pas 
LIGNE 1: ...m de main_sim sim left join main_number num sur (FK_Numbers... 

mais si j'ai simplement vérifier mon tableau avec:

dbMobile=# \d main_sim

 id              | integer               | not null default

 Iccid           | character varying(19) | not null

...

 FK_Device_id    | integer               | 

 FK_Numbers_id   | integer               | 

Indexes:
    "main_sim_pkey" PRIMARY KEY, btree (id)
    "main_sim_FK_Numbers_id_key" UNIQUE, btree ("FK_Numbers_id")
    "main_sim_Iccid_key" UNIQUE, btree ("Iccid")
    "main_sim_FK_Device_id" btree ("FK_Device_id")
Foreign-key constraints:
    "FK_Device_id_refs_id_480a73d1" FOREIGN KEY ("FK_Device_id") REFERENCES main_device(id) DEFERRABLE INITIALLY DEFERRED
    "FK_Numbers_id_refs_id_380cb036" FOREIGN KEY ("FK_Numbers_id") REFERENCES main_number(id) DEFERRABLE INITIALLY DEFERRED

...comme nous pouvons le voir la colonne existe.

probablement c'est une erreur de syntaxe, mais je ne suis pas en mesure de voir ce que...

toute aide sera be apprécié.
Alessio

  • Avez-vous essayé sim.FK_Numbers_id au lieu de simplement FK_Numbers_id?
  • Essayez de taper FK_Numbers_id entre guillemets, comme "FK_Numbers_id". Un conseil: n'utilisez jamais de mélange de cas en sql.
InformationsquelleAutor Alessio | 2012-04-04