2016-10-31 5 views
1

У меня есть две таблицы: t1 и t2. Есть три шага: в t1 выберите Set_of_strings с id = 1 («1a» и «3c»). Из t1 выберите строки, соответствующие OPTIONID = 'A', и которые содержат подстроку из Set_of_strings.SQL-запрос для проверки `like '%' массива строк '%'` из другого набора результатов.

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

Смотрите, если это работает:

SELECT DISTINCT 
    t2.TXT 
FROM 
    t2 
    INNER JOIN t1 ON 
     t1.ID=1 AND 
     t2.TXT LIKE '%'+t1.NAME+'%' 
WHERE 
    t2.OPTIONID = 'A'; 
1

Я думаю, что вы просто хотите присоединиться к

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

 Смежные вопросы

  • Нет связанных вопросов^_^