Sql 从架构中不同于public的表中选择列
在我的PostgreSQL数据库中,我的表位于Sql 从架构中不同于public的表中选择列,sql,postgresql,Sql,Postgresql,在我的PostgreSQL数据库中,我的表位于importschema中。当我想从列中获取所有数据时,我会: select * from import.master_plan 这个查询工作正常。但是,例如,当我尝试仅获取标题列值时: select import.master_plan.title from import.master_plan; 它返回: ERROR: column master_plan.title does not exist LINE 1: select import
import
schema中。当我想从列中获取所有数据时,我会:
select * from import.master_plan
这个查询工作正常。但是,例如,当我尝试仅获取标题列值时:
select import.master_plan.title from import.master_plan;
它返回:
ERROR: column master_plan.title does not exist
LINE 1: select import.master_plan.title from import.master_plan;
^
HINT: Perhaps you meant to reference the column "master_plan. title".
我也试过:
select title from import.master_plan;
但这也不起作用。我正在使用PostgreSQL 10。如何修复此问题?我建议您改用表别名:
select mp.title
from import.master_plan mp;
这更容易阅读和打字
但是,从错误消息判断,名称似乎有前导空格。比如:
select mp." title"
from import.master_plan mp;
可能有用。如果是这种情况,请更改表并重命名列。如果列存在,是否可以检查架构?我在我的博士后10上试过了,效果很好。示例:从schema_1.users中选择名称;另外,在您的示例中,您调用表“master”,然后调用“master_plan”。这是故意的吗?当我将我的列包装到“”中时,它可以正常工作。所以列名包含非字母数字?