数据库是mysql的,共三个表:A表:
id name tel
1 A1 0
2 A2 0
3 A3 0
4 A4 0B表:
id name aid
1 A 1
2 A 1C表:
id name aid
1 A 1现在需要用一条查询语句获取数据:
列出A表中所有字段,并统计出 B表与C表中aid等于A表id的总数。我写的语句:
SELECT a.id,a.name,count(b.aid) AS bnum,count(c.aid) AS cnum, FROM a
Left Join b on a.id = b.aid
Left Join c on a.id = c.aid
group by a.id
可获取的B表使用的总数正确,C表的老出错,似乎老是B表总数的倍数!特请教!!!
id name tel
1 A1 0
2 A2 0
3 A3 0
4 A4 0B表:
id name aid
1 A 1
2 A 1C表:
id name aid
1 A 1现在需要用一条查询语句获取数据:
列出A表中所有字段,并统计出 B表与C表中aid等于A表id的总数。我写的语句:
SELECT a.id,a.name,count(b.aid) AS bnum,count(c.aid) AS cnum, FROM a
Left Join b on a.id = b.aid
Left Join c on a.id = c.aid
group by a.id
可获取的B表使用的总数正确,C表的老出错,似乎老是B表总数的倍数!特请教!!!
解决方案 »
- 关于照片上传问题
- jsp页面中java调用js问题
- mysql如何让front和service端连接
- 在Tomcat的admin中如何连接MYSQL数据库
- 急问!tomcat问题!在线等。分不够再加
- 请教一下response.sendRedirect()的用法!!??
- session之isNew() 与 点击率问题
- 我在写jsp程序时为什么会出现找不到Bean的情况
- 有谁能上传整个目录就好象ftp一样呢,用jsp来写如何写。。。。
- 图片上传 ,strust2 后台如何能多线程?
- 文件路径名可以通过URL传参吗?
- 抛出异常java.lang.ExceptionInInitializerError
(select count(b.aid) from a,b where b.aid = a.id ) tempb,(select count(c.aid) from a,c where c.aid = a.id ) tempc上面没试在数据库上试,也差不多了。 关键就是用子查询。。
你以为用join就快啊。数据量大,一样翘辫子。,在几个表上关联的字段上建了索引就不会很慢的。你要是要求高性能的,去MS Sql板块问吧。虽然数据库不一样,但是 sql是标准 sql。csdn 也就是MS Sql板块人多。