首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL Plus查询-多表查询

问SQL Plus查询-多表查询
EN

Stack Overflow用户
提问于 2013-08-07 22:06:16
回答 1查看 1.9K关注 0票数 0

这给我带来了更多的麻烦。

我有以下示例表:

代码语言:javascript
复制
____________________       ____________      
|   Name|   Number |       | Number   |
|_______|__________|       |__________|
| Alice |     1    |       |    1     |
| Bob   |     2    |       |    1     |
|_______|__________|       |__________|

我希望我的结果是:

代码语言:javascript
复制
_____________________________________
| Name   |   Number  | Count(Number) |
|________|___________|_______________|
| Alice  |     1     |      2        |
| Bob    |     2     |      0        |
|________|___________|_______________|

我会来回走动,但我相信这不会那么棘手。我想我漏掉了什么。

我修改了戈登的答案:

代码语言:javascript
复制
 select name, number count(t2.number)
 from table1 t1, 
 table2 t2 
 where t1.number = t2.number (+)
 group by t1.number;
EN

回答 1

Stack Overflow用户

发布于 2013-08-07 22:19:14

您需要一个连接和聚合。但是,join需要是一个left outer join才能保留所有行:

代码语言:javascript
复制
select name, number, count(t2.number)
from table1 t1 left outer join
     table2 t2
     on t1.number = t2.number
group by t1.name, t1.number;

而且,count()对第二个表中的非空值进行计数,因此当不存在匹配项时,您可以获得0。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18105596

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档