2017-02-21 199 views
0

我需要一些帮助以下查询。
我有下面的表格,我试图做一个加入,但预期它不工作:
MySQL左连接多个ID

TABLE1 
Id1 | Title 
1 | A 
2 | B 
3 | C 

TABLE2 
Id2 | Id1 
10 | 1 
20 | 1 
30 | 1,2 

所以基本上对表2列Id1的可能需要超过1倍的值。 我已经开始用下面的SQL,但它不是按预期工作:

select t1.id1,count(1) 
from table1 t1 
left join table2 
on t1.id1 = t2.id2 
group by t1.id1 desc; 

我也试图与更换t1.id1 = t2.id2: - t1.id1在t2.id2 - T1 .id1 like concat(“%”,t2.id2,“%”)

但它仍未按预期工作。 该查询应返回表1中的所有Id,并应计算table2中Id1的所有实例。

任何想法/建议?

+0

*基本上对表2可以采取多个值列Id1的*,这是根本性的缺陷 – Strawberry

回答

0

以下SQL是返回数据,我需要:

select t1.id1,count(t2.id1) 
    from table1 t1 
    left join table2 t2 
    on find_in_set(t1.id1,t2.id1) 
    group by t1.id1 desc;