| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1053 人关注过本帖
标题:求一个select语句的问题
只看楼主 加入收藏
darlingpeng
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2012-2-15
结帖率:0
收藏
已结贴  问题点数:20 回复次数:11 
求一个select语句的问题
我的问题是这样的:
比如有表:t_temp,有字段:f_pole,f_layer,f_temp。即杆、层、温度。
3个字段有如下值:
1,1,11
1,2,21
1,3,31
1,4,41
2,1,12
2,2,22
2,3,32
2,4,42
3,1,13
3,2,23
3,3,33
3,4,43
......
怎么输出如下表样式内容:
1,11,21,31,41
2,12,22,32,42
3,13,23,33,43
......
即把原同一杆的不同层的温度显示在一行。谢谢

我还想不出有什么办法,请大家帮忙!!!
搜索更多相关主题的帖子: 温度 
2012-02-15 16:46
png
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:4
帖 子:126
专家分:880
注 册:2010-10-6
收藏
得分:7 
类似 -
select    f_pole,
          max(case when f_layer = 1 then f_temp end),
          max(case when f_layer = 3 them f_temp end)
from      t_temp
group by  f_pole


或查看 PIVOT 用法

2012-02-16 00:04
darlingpeng
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2012-2-15
收藏
得分:0 
谢谢png。
我根据你的思路再想一下。
2012-02-16 08:38
darlingpeng
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2012-2-15
收藏
得分:0 
select * from
(
select f_pole,
case when f_layer=1 then f_temp end as tmp1,
case when f_layer=2 then f_temp end as tmp2,
case when f_layer=3 then f_temp end as tmp3
case when f_layer=4 then f_temp end as tmp4 from t_poletest
)t

这样可以产生结果,但不对,关键是不能group by f_pole。我就是需要以f_pole分组。
tmp1,tmp2,tmp3这3列怎么在group by语句中添加?
2012-02-16 09:25
darlingpeng
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2012-2-15
收藏
得分:0 
select * from
(
select f_pole,
case when f_layer=1 then f_temp end as tmp1,
case when f_layer=2 then f_temp end as tmp2,
case when f_layer=3 then f_temp end as tmp3
case when f_layer=4 then f_temp end as tmp4 from t_poletest
)t

这样可以产生结果,但不对,有一些不是值的多余的NULL。关键是不能group by f_pole。我就是需要以f_pole分组。
tmp1,tmp2,tmp3,tmp4这4列怎么在group by语句中添加?
2012-02-16 09:28
darlingpeng
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2012-2-15
收藏
得分:0 
group by f_pole,tmp1,tmp2,tmp3,tmp4这样可以,但结果不对。
就是上面说的,有一些多余的不是值的NULL。
2012-02-16 09:32
darlingpeng
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2012-2-15
收藏
得分:0 
我只是想以f_pole分组,而group by语句中加了tmp1,...意思就就不对了。
2012-02-16 09:38
png
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:4
帖 子:126
专家分:880
注 册:2010-10-6
收藏
得分:0 
你没试下我写的语句?
2012-02-16 22:45
darlingpeng
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2012-2-15
收藏
得分:0 
试过,但信息不全,因为只是求了max。除非有条件。
2012-02-17 14:55
tangyunzhong
Rank: 5Rank: 5
来 自:广西
等 级:职业侠客
威 望:4
帖 子:97
专家分:364
注 册:2010-7-28
收藏
得分:7 
回复 楼主 darlingpeng
你这个问题解决办法是用行列旋转的,上面的方法都只是都对你起例数据回答,
,,,
2012-02-17 17:44
快速回复:求一个select语句的问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.038533 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved