2015-10-07 97 views
0

下面是我的db结构和几个示例行的表示。我试图完成的是从表1中取得地址,并在表2中搜索类似的匹配。然后,我只需要它返回子列结果mysql连接查询与like?

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

“子列结果”?咦?您可以使用任何种类的条件加入,例如'在bar.x上加入foo,如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

,是不是最好的主意,但只是作为学习的mysql的选项proccess你可以把我的方法看看:

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

SELECT t1.*, t2.* 
FROM Table1 t1 
LEFT JOIN Table2 t2 
ON t1.address LIKE CONCAT('%',t2.addr,'%');