mysql数据库查询,根据表A中name=jack查表B所有p_id,在表C中add=aaa的次数。
有三张表,其中A.id=B.name_id,B.p_id=C.p_id,如下:Aidname11jack12samBp_idname_id1000111001111002...
有三张表,其中A.id=B.name_id,B.p_id=C.p_id,如下:
A
id name
11 jack
12 sam
B
p_id name_id
1000 11
1001 11
1002 12
1003 11
C
p_id add
1000 aaa
1000 bbb
1000 aaa
1001 aaa
显示结果:查jack的所有p_id,并且显示表C中add=aaa的次数
name p_id count(add=aaa)
jack 1000 2
jack 1001 1
jack 1003 0 展开
A
id name
11 jack
12 sam
B
p_id name_id
1000 11
1001 11
1002 12
1003 11
C
p_id add
1000 aaa
1000 bbb
1000 aaa
1001 aaa
显示结果:查jack的所有p_id,并且显示表C中add=aaa的次数
name p_id count(add=aaa)
jack 1000 2
jack 1001 1
jack 1003 0 展开
2个回答
展开全部
结果是一样的
不知是不是 你要的
SELECT a.name,b.P_id,COUNT(CASE WHEN c.`add`='aaa' THEN '1' END) AS c FROM a
LEFT JOIN b ON a.`id`=b.`name_id`
LEFT JOIN c ON c.`p_id`=b.`p_id`
WHERE a.`name`='jack'
GROUP BY b.p_id
下次提问时,最好把 建表的语句 写出来
不知是不是 你要的
SELECT a.name,b.P_id,COUNT(CASE WHEN c.`add`='aaa' THEN '1' END) AS c FROM a
LEFT JOIN b ON a.`id`=b.`name_id`
LEFT JOIN c ON c.`p_id`=b.`p_id`
WHERE a.`name`='jack'
GROUP BY b.p_id
下次提问时,最好把 建表的语句 写出来
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询