用于检查`like'%'的SQL查询字符串数组'%' `从另一个结果集提供。

时间:2016-10-31 20:13:34

标签: sql-server sql-like

我有两个表:t1和t2。有三个步骤:在t1中选择一个id = 1的Set_of_strings(" 1a"和#34; 3c")。从t1开始,选择对应于OPTIONID =' A'并且它包含来自Set_of_strings的子字符串。

t1

ID  NAME   
1   "1a"   
2   "2b"   
1   "3c"   

t2

OPTIONID    TXT   
  A     "7h 9t"   
  B     "1a 8n"   
  A     "2b 4r"    
  A     "3c 6u" 
SELECT 
    NAME 
FROM t1 
WHERE ID = 1; -- 1a, 3c

SELECT
    TXT 
FROM t2 
WHERE OPTIONID = 'A' AND (TXT LIKE '%1a%' OR TXT LIKE '%3c%') --"3c 6u"

如何自动TXT LIKE '%1a%' OR TXT LIKE '%3c%'部分?

LIKE'%1a%'是安全的,因为所有条目都具有相同的格式,e.i。 1a2列中没有TXT

2 个答案:

答案 0 :(得分:2)

看看是否有效:

shell

答案 1 :(得分:1)

我想你只想要一个加入

SELECT TXT 
FROM t2
JOIN t1 on t2.TXT = t1.NAME and t1.ID = 1
WHERE OPTIONID = 'A'