请问这种查询显示效果可以实现吗

[复制链接]
查看11 | 回复2 | 2007-7-4 17:27:50 | 显示全部楼层 |阅读模式
表如下:
authora1a2time
t11 11
t2 1 11
t2 2 2 2
t3333
我写了如下语句:
select author ,sum(a1),sum(a2) from atable where time = 2group by author
统计某段时间内各位作者获得的奖品数量

但是这样统计,author(t1) , 我希望是显示为 0,0, 也就是说我希望查询出的结果是:
t100
t222
t333

但查询出的结果中,根本就没有t1,结果为:
t222
t333
请问该如何写这个SQL
我想了一个方法,就是插入一条假数据, t1 , 0,0, 3
但是每次都这样插,很麻烦.
请问是否有其他方法? 能通过修改SQL搞定吗?
回复

使用道具 举报

千问 | 2007-7-4 17:27:50 | 显示全部楼层

Please see the following process!
SQL> select * from atable;
AUTHOR
A1 A2 TIME
---------- ---------- ---------- ----------
t1
1
1
1
t2
1
1
1
t2
2
2
2
t3
3
3
3
SQL>
SQL> select author,
2 sum(case
3
when time = 2 then
4
a1
5
else
6
0
7
end) a1,
8 sum(case
9
when time = 2 then
10
a2
11
else
12
0
13
end) a2
14from atable
15 group by author;
AUTHOR
A1 A2
---------- ---------- ----------
t1
0
0
t2
2
2
t3
3
3
SQL>


回复

使用道具 举报

千问 | 2007-7-4 17:27:50 | 显示全部楼层
高啊。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行