2015-10-07 4 views
0

Вот представление моей структуры db с несколькими примерами строк. То, что я пытаюсь выполнить, - это взять адрес из таблицы 1 и выполнить поиск в таблице 2 для аналогичного совпадения. Тогда я просто нужно, чтобы вернуть результат к югу колонкеmysql соединяет запрос с похожим?

Table 1 
    id | address  | info 
    ---------------------------------------- 
    1 | 123 test dr | blah blah blah 
    2 | 456 testing ln | blah blah blah blah 

    Table 2 
    id | wo  | addr   | sec | sub 
    ------------------------------------------------ 
    1 | 12345678 | 123 TEST DR | Sec. 1 | Sub1 
    2 | 87654321 | 456 TESTING LN | Sec. 2 | Sub2 

Я пробовал некоторые присоединиться запросы, однако я просто не могу заставить его работать

+2

"sub column result"? А? вы можете использовать любое условие для присоединения, например. 'присоединяйтесь к foo на bar.x, например foo.y' –

+0

Можете ли вы опубликовать запросы, которые вы пробовали? – Chris

+0

tablescan heaven here – Drew

ответ

0

Попробуйте использовать что-то вроде:

select t2.sub 
from Table1 t1 
     left join Table2 t2 on t2.add like CONCAT('%', t1.address,'%') 
+0

Присоединение к условию с ведущим подстановочным знаком будет всевозможным неэффективным ... –

0

, что не очень лучшая идея, но так же, как обучение proccess опций MySQL вы посмотрите на мой подход может:

http://sqlfiddle.com/#!9/e4962/2

SELECT t1.*, t2.* 
FROM Table1 t1 
LEFT JOIN Table2 t2 
ON t1.address LIKE CONCAT('%',t2.addr,'%'); 
Смежные вопросы