복붙노트

[SQL] SQL 문을 오류 : "열 ... 존재하지 않습니다"

SQL

SQL 문을 오류 : "열 ... 존재하지 않습니다"

이 명령을 콘솔 포스트 그레스에서 시도 임 :

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

나는이 응답을 가지고있다 :

ERROR:  column "fk_numbers_id" does not exist
LINE 1: ...m from main_sim sim left join main_number num on (FK_Numbers...

하지만 난 단순히 내 표를 확인하는 경우 :

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

... 우리는 열 존재를 볼 수 있습니다.

아마 구문 오류,하지만 무엇을 볼 수 없습니다 해요 ...

어떤 도움을 이해할 수있을 것이다. 알레

해결법

  1. ==============================

    1.아니, FK_Numbers_id이 존재하지 않는 컬럼 만 열 "FK_Numbers_id는"존재

    아니, FK_Numbers_id이 존재하지 않는 컬럼 만 열 "FK_Numbers_id는"존재

    분명히 당신은 큰 따옴표 등을 사용하여 테이블을 생성하므로 모든 열 이름은 대소 문자를 구분 지금 당신이 따옴표를 항상 사용해야합니다 :

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

    이미 매뉴얼에 설명되어 있습니다 것을 다시 정리해 보면 :

    열 foo는 FOO와 동일하며, 컬럼 "foo에"와 "FOO"은 아니다.

  2. from https://stackoverflow.com/questions/10015531/sql-statement-error-column-does-not-exist by cc-by-sa and MIT license