我有一个带有正则表达式的表,我需要用它来过滤另一个表中的行 类似的东西:
SELECT *
FROM a
WHERE foo SIMILAR TO '(SELECT regex FROM b)'
显然,这不起作用,因为那不是语法,b
中有多行我需要迭代。
我正在使用PostgreSQL 8.3。
答案 0 :(得分:5)
也许加入会有效吗? E.g。
SELECT a.*, b.regex
FROM a JOIN b ON a.foo ~ b.regex
我担心我对Postgres不够熟悉,但这肯定是SQL中迭代行的普通方法。如果匹配多个正则表达式,它应该多次返回a.foo。