表A
字段名 id flag pid
1 1 111
2 3 222
3 1 111
4 1 333
5 2 222
表B
字段名 id opention pid
1 1 111
2 1 111
3 2 111
4 1 222
5 2 222
表C
id name
111 A
222 B
333 C
请问如何统计A表中flag为1和flag为2以及B表中opention为1的数据量并以pid聚类.表A和表B中的pid关联到表C的id
结果如下所示
pid flag1 flag2 opantion1
111 2 0 2
222 0 1 1
333 1 0 0
字段名 id flag pid
1 1 111
2 3 222
3 1 111
4 1 333
5 2 222
表B
字段名 id opention pid
1 1 111
2 1 111
3 2 111
4 1 222
5 2 222
表C
id name
111 A
222 B
333 C
请问如何统计A表中flag为1和flag为2以及B表中opention为1的数据量并以pid聚类.表A和表B中的pid关联到表C的id
结果如下所示
pid flag1 flag2 opantion1
111 2 0 2
222 0 1 1
333 1 0 0
from c left join (
select pid,
sum(if(flag=1,1,0)) as flag1 ,
sum(if(flag=2,1,0)) as flag2
from a where flag=1 or flag=2 group by pid
) t1 on c.pid=t1.pid
left join (select pid,count(*) as opantion1 from b where opention=1 group by pid) t2
on c.pid=t2.pid