PostgreSQL使用SUBSTRING做JOIN关联报错schema "abc"不存在如何解决
错误原因
你的SQL存在两处语法错误:
- 函数调用格式错误:你将表别名
abc写在了SUBSTRING函数前,PostgreSQL会把abc识别为函数所属的schema名,自然会提示schema "abc" does not exist。正确写法是把表别名加在要处理的字段前,而非函数前。 - 关联表别名不匹配:你INNER JOIN的表别名是
xyz,但关联条件右侧写的是klm.MODEL,和声明的别名不一致,需要对应修改。
修正后的查询语句
SELECT ..., ..., ..., ... -- 补全你需要查询的字段 FROM 你的表名 AS abc INNER JOIN 关联表名 AS xyz ON SUBSTRING(abc."columnname", 1, 3) = xyz.MODEL
补充说明
如果你的columnname字段没有大小写敏感的特殊命名需求,不建议加双引号包裹,避免后续不必要的大小写匹配问题。
内容的提问来源于stack exchange,提问作者alperyildirim
相关产品推荐
相关产品推荐

