首页 > 解决方案 > 错误:带有“ON”部分的 JOIN 的 SQL 子字符串

问题描述

我正在使用 PostgreSQL,并且必须使用子字符串连接表。正如我在下面演示的,xyz.MODEL 和 abc 表中“columnname”的前三个字符应该匹配。但是,下面的查询不起作用。

SELECT ..., ..., ..., ...
FROM ... AS abc
INNER JOIN ... AS xyz ON abc.SUBSTRING("columnname",1,3) = klm.MODEL

它返回错误:

ERROR:  schema "abc" does not exist

谁能帮我更正这个查询?

谢谢你的帮助。

标签: sqlpostgresqljoinsubstring

解决方案


表别名必须在列名之前,而不是函数:

SELECT ...
FROM ... AS abc
  JOIN ... AS xyz ON SUBSTRING(abc."columnname",1,3) = klm.MODEL
                               ^
                               here

推荐阅读