2014-10-01 56 views
0

我想使用LIKE函数来查看是否存在另一列中另一列的character varying值。这可能吗?Postgres Like使用选择

我都试过,没有运气以下(语法错误)

SELECT * FROM questions WHERE qaskedif like '%' || SELECT qlabel FROM questions WHERE qdefaultvalue IS NOT NULL || '%';

+1

不确定我关注 - 你能分享一些样本数据和结果你是想要得到什么? – Mureinik 2014-10-01 16:36:55

+0

如果搜索到的字符串恰好包含%或_,那么'LIKE'将会行为不当。更好地使用位置(小字符串IN大字符串)> 0'作为条件。 – 2014-10-01 17:38:02

回答

0

你需要做自连接得到那种查询:

select a.* 
from questions a join questions b 
on a.qaskedif like '%' || b.qlabel ||'%' 

注意,这需要做笛卡尔连接评估,所以它会很慢,如果表是任何大小