请教一个SQL语句问题

yuyn123 2008-05-25 01:27:31
表A 内容
aID aName
1 a1
2 a2

表B内容
bID aID bName
1 1 b1
2 1 b2

需要得到的数据为
aID aName bCount
1 a1 2
2 a2 0

即查询表B中A数据出现的次数,请问怎么实现?
谢谢了
...全文
65 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
yuyn123 2008-05-25
  • 打赏
  • 举报
回复
终于解决了,应该改为count(b.aid),谢谢ccssddnnhelp
yuyn123 2008-05-25
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 ccssddnnhelp 的回复:]
不好意思,刚才回复错误,这句结果应该为0的地方得到的为1

能贴一下你的测试数据和结果吗?
[/Quote]

结果如下:

A表:
+-----+-------+
| aID | aName |
+-----+-------+
| 1 | a1 |
| 2 | a2 |
+-----+-------+

B表:
+-----+-----+-------+
| bID | aID | bName |
+-----+-----+-------+
| 1 | 1 | b1 |
| 2 | 1 | b2 |
+-----+-----+-------+

运行的SQL语句:
select a.aID,a.aName,IFNULL(count(*),0) as bCount
from A left join B on a.aID=b.aID
group by a.aID,a.aName

结果:
+-----+-------+--------+
| aID | aName | bCount |
+-----+-------+--------+
| 1 | a1 | 2 |
| 2 | a2 | 1 |
+-----+-------+--------+
ccssddnnhelp 2008-05-25
  • 打赏
  • 举报
回复

不好意思,刚才回复错误,这句结果应该为0的地方得到的为1

能贴一下你的测试数据和结果吗?

.
==== ====

.
贴子分数<20:对自已的问题不予重视。
贴子大量未结:对别人的回答不予尊重。
.
yuyn123 2008-05-25
  • 打赏
  • 举报
回复
帮帮忙吧,谢谢各位,问题解决马上结贴
yuyn123 2008-05-25
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 ccssddnnhelp 的回复:]
SQL codeselect a.aID,a.aName,IFNULL(count(*),0) as bCount
from A left join B on a.aID=b.aID
group by a.aID,a.aName



如果一定要显示0的话。.

==== 思想重于技巧 ====


.
贴子分数 <20:对自已的问题不予重视。
贴子大量未结:对别人的回答不予尊重。
.

reply via CSDN viewer

[/Quote]

不好意思,刚才回复错误,这句结果应该为0的地方得到的为1
yuyn123 2008-05-25
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 ccssddnnhelp 的回复:]
SQL codeselect a.aID,a.aName,count(*) as bCount
from A left join B on a.aID=b.aID
group by a.aID,a.aName

.

==== 思想重于技巧 ====


.
贴子分数 <20:对自已的问题不予重视。
贴子大量未结:对别人的回答不予尊重。
.

reply via CSDN viewer

[/Quote]

试过这个了,显示的不是0,而是1
ccssddnnhelp 2008-05-25
  • 打赏
  • 举报
回复

由于您是新用户,所以特此介绍一下结贴的方法


如果您问题已经得解决,请您及时结帖给分,以感谢帮助您的朋友。

结帖方法:点击版面右上方或右下方 [管理] ,进入页面后就可以输入密码,分别给分,结帖。
或参考:
http://www.csdn.net/help/over.asp
http://topic.csdn.net/u/20080110/19/7cb462f1-cac6-4c28-848e-0a879f4fd642.html
=============================================================================
问题解决,请及时结贴。
正确结贴方法:
管理帖子-->给分-->输入密码-->结贴.
==== ====

.
贴子分数<20:对自已的问题不予重视。
贴子大量未结:对别人的回答不予尊重。
.
ccssddnnhelp 2008-05-25
  • 打赏
  • 举报
回复

select a.aID,a.aName,IFNULL(count(*),0) as bCount
from A left join B on a.aID=b.aID
group by a.aID,a.aName


如果一定要显示0的话。.
==== ====

.
贴子分数<20:对自已的问题不予重视。
贴子大量未结:对别人的回答不予尊重。
.
ccssddnnhelp 2008-05-25
  • 打赏
  • 举报
回复

select a.aID,a.aName,count(*) as bCount
from A left join B on a.aID=b.aID
group by a.aID,a.aName
.
==== ====

.
贴子分数<20:对自已的问题不予重视。
贴子大量未结:对别人的回答不予尊重。
.

56,677

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧