Mysql Query选择两个表

时间:2014-08-14 08:51:50

标签: mysql

我需要选择另一个表中的表的所有ID,但可以包含更多单词。 例如:

tab1

Hello 
Helloo
Hellooo
Helloooo

tab2

Hello 

我需要的结果是:

姓名:你好

数:4


我需要做类似的事情:

select count(*) as counted, id from tab1 where id like "helo%"

但是where子句需要是tab2中的ID加上最后的%。


表1:

`ID`: hello
`ID`: hello1
`ID`: hello2
`ID`: hello3
`ID`: hello4
`ID`: hello5
`ID`: yelo5

表2:

`ID`: hello
`ID`: yelo

现在,我需要的是计算并显示如下:

ID:你好|数:6

ID:yelo |数:1

3 个答案:

答案 0 :(得分:0)

这应该是你要找的东西

<强> MYSQL

SELECT count(*) FROM tab1 as Count_1
WHERE id LIKE '%hello%'

UNION

SELECT count(*) from tab2 as Count_2
WHERE id LIKE '%yelo%' 
GROUP BY id;

<强> RESULT

COUNT(*)
6
1

所以我认为你试图计算表1中出现ID匹配'hello ...'的次数以及表2中出现ID匹配'yelo ..'的次数。

答案 1 :(得分:0)

      SELECT count(*) FROM tab1 as Count
            LEFT JOIN tab2
            ON tab1.id=tab2.id
            WHERE column like '%Hello%'

答案 2 :(得分:0)

试试这个

select t1.ID,count(*) from tab1 t,tab2 t1 where t.ID like 
CONCAT('%',t1.ID, '%') group by t1.na

Sql Fiddle