一个MySQL关联查询是否存在的问题

表C:

id cname
1 test

表G:

id gname
1 GTEST

表P:

id g_id c_id
1 G表ID,5 C表ID

SQL查出所有C的列表关联Pg_id等于1的(g_id的count计数)

比如 C关联Pc_id。查出所有的C。结果:c.*g_id=1的计数。

比如:当前表P没有g_id=1的。要求结果:

id cname gid=1
1 test 0
阅读 3.9k
3 个回答
select c.*, (select count(*) from p where c.id=p.c_id and p.g_id=1) from c 

select c.*, count(p.g_id) as gid from c left jion p on c.id=p.c_id and p.g_id=1;

select c.*,ifnull(num,0) from c left join (select count(*) num,c_idfrom p group by g_id) b on c.id=p.c_id ;

推荐问题