2014-10-01 55 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 ||'%' 

注意,這需要做笛卡爾連接評估,所以它會很慢,如果表是任何大小