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
展开
 我来答
abing3057
推荐于2016-09-22 · TA获得超过144个赞
知道小有建树答主
回答量:81
采纳率:50%
帮助的人:65.7万
展开全部
结果是一样的
不知是不是 你要的

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

下次提问时,最好把 建表的语句 写出来
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ilvwhy
2015-09-18 · TA获得超过1.3万个赞
知道大有可为答主
回答量:1.7万
采纳率:81%
帮助的人:2841万
展开全部
select a.name,b.p_id,count(*) from a,b,c where A.id=B.name_id and B.p_id=C.p_id and a.name='jack' and c.add='aaa'
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式