微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

sql语句错误:“列..不存在”

我试着从postgres控制台这个命令:
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

……因为我们可以看到该列存在.

可能是语法错误,但我无法看到…

任何帮助将不胜感激.
阿莱西奥

解决方法

不,列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);

回顾一下已经是documented in the manual的东西:

列foo和FOO是相同的,列“foo”和“FOO”不是.

原文地址:https://www.jb51.cc/mssql/77223.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐