2017-02-22 70 views
0

请帮助我想写一个包含某个词的脚本。 e.g:sql查询包含选定列的某些词

table name : sample 
+-------+-------+ 
|column1|column2| 
+-------+-------+ 
|1  |help | 
+-------+-------+ 

table name : sample2 
+-------+-------+ 
|column1|column2| 
+-------+-------+ 
|1  |help me| 
+-------+-------+ 

我尝试写这样一个剧本:

SELECT *FROM SAMPLE S 
JOIN SAMPLE2 S2 ON S.COLUMN1 = S2.COLUMN2 
WHERE S.COLUMN2 LIKE S2.COLUMN2 

但“where子句”是行不通 任何一个知道如何编写正确的脚本? 如果有的话请回答我的问题

回答

1

这条where子句理想情况下应该是JOIN的一部分。

你需要以前缀和使用字符串连接后缀通配符%,为喜欢的工作:

SELECT *FROM 
SAMPLE S JOIN SAMPLE2 S2 
ON S.COLUMN1 = S2.COLUMN1 
And S2.COLUMN2 LIKE '%' || S.COLUMN2 || '%'; 
+0

感谢兄弟,这是工作 – arkis

0

改变连接条件,使他们使用COLUMN1两者结合,然后你想要的匹配:

'help me' LIKE '%help%' 

所以:

SELECT * 
FROM SAMPLE S 
     JOIN SAMPLE2 S2 
     ON ( S.COLUMN1 = S2.COLUMN1 
      AND S2.COLUMN2 LIKE '%' || S.COLUMN2 || '%') 
+0

感谢兄弟,它也在工作 – arkis