SQL - 提示引用列

phi*_*pos 13 sql postgresql

我是SQL的初学者,所以如果这个问题很原始,我很抱歉.
我刚刚开始关注http://www.w3schools.com的教程,所以下载了"Northwind"数据库以尝试使用它,并使用pgAdmin 3控制台访问数据库.我只是尝试使用简单的命令来选择表的一列,但它给出了与任何表中的任何列相同的以下消息

LINE 1: select City from Customers;
                        ^
HINT:  Perhaps you meant to reference the column "customers.City".
Run Code Online (Sandbox Code Playgroud)

我想问一下,我的命令有什么问题吗?以及如何解决它?

谢谢

Tom*_*zky 21

导入此"Northwind"数据库时,在CamelCase中导入了列名称 - 您的导入必须已将双引号添加到列标识符以进行create table查询.

这是相当不幸的,因为这会导致您必须在所有查询中引用它们,例如:

select "City" from customers;
Run Code Online (Sandbox Code Playgroud)

为了保持理智,我建议你将所有列重命名为小写.这样,无论你使用什么情况都没关系,因为Postgres会自动将所有未加引号的标识符转换为小写.那么任何一个都可行:

select city from customers;
select City from Customers;
SELECT CITY FROM CUSTOMERS;
Run Code Online (Sandbox Code Playgroud)


Jam*_* L. 8

我的工作查询最终看起来像:

select descr from activity where "activity"."scheduleId"='6sdCkROlyMo';
Run Code Online (Sandbox Code Playgroud)