ON子句中的regexp产生错误

ON子句中的regexp产生错误,regex,postgresql,Regex,Postgresql,我运行的是postgresql 8.2.15数据库 我正在尝试运行一个使用正则表达式进行连接的查询。我目前的查询是: SELECT * FROM USCITY a join USCITY2 b ON b.usps in regexp_matches(a.city, '.* (?= [^\\s]*, [^\\s]*$)'); 这将产生以下错误: "ERROR: syntax error at or near "regexp_matches" Position: 101" 我已经检查了re

我运行的是postgresql 8.2.15数据库

我正在尝试运行一个使用正则表达式进行连接的查询。我目前的查询是:

SELECT * 
FROM USCITY a join USCITY2 b
ON b.usps in regexp_matches(a.city, '.* (?= [^\\s]*, [^\\s]*$)');
这将产生以下错误:

 "ERROR: syntax error at or near "regexp_matches"
 Position: 101"
我已经检查了regexp\u matches函数是否使用

SELECT regexp_matches(city, '.* (?= [^\\s]*, [^\\s]*$)')
FROM CITY2;

感谢您的帮助。

您需要使用逗号分隔的文本和IN运算符,或子选择,如b.usps中的select*FROM regexp\u matches。。。如果b.usps是一个数组,但很可能您希望在b.usps上从regexp\u匹配中选择m[0]。。。mYou需要使用逗号分隔的文本和IN运算符,或一个子select,如b.usps中的select*FROM regexp\u匹配。。。如果b.usps是一个数组,但很可能您希望在b.usps上从regexp\u匹配中选择m[0]。。。M