锁定老帖子 主题:用decode 实现行转列
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2009-02-04
最后修改:2009-04-01
1 根据第一张表写出查询结果符合第2张表的语句(1--男,2—女) (注:这是老师给的一个作业题,呵呵)
表一:populations
country sex population ----------- -------- ----------------- 中国 1 340 中国 2 260 美国 1 45 美国 2 55 加拿大 1 51 加拿大 2 49 英国 1 40 英国 2 60
根据表一生产如下查询结果:
国家 男 女 ----------- -------- ----------- 中国 340 260 美国 45 55 美加拿大 51 49 英国 40 60
代码如下: select country, sum(decode(sex,'1',num)) 男, sum(decode(sex,'2',num)) 女 from populations group by country;
请问大牛们,劳驾一下,如果不用decode而用case 语句该怎么写呢??
声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2009-02-05
select country, sum(CASE WHEN(sex = '1') THEN num ELSE 0 END) 男, sum(CASE WHEN(sex = '2') THEN num ELSE 0 END) 女, from populations group by country |
|
返回顶楼 | |
发表时间:2009-02-05
我是这样写的,竟然也可以 1 select country, 2 sum(CASE sex WHEN '1' THEN num ELSE 0 END) 男, 3 sum(CASE sex WHEN '2' THEN num ELSE 0 END) 女 4 from population 5 group by country
请问哪里有详细讲解Select语句的啊,英文的看不懂:-) |
|
返回顶楼 | |
发表时间:2009-02-06
armorking 太感谢你了!~~
|
|
返回顶楼 | |
浏览 4937 次