标题:求汇总的一个问题
只看楼主
soosii
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2012-3-2
结帖率:25%
已结贴  问题点数:20 回复次数:4 
求汇总的一个问题
明细表        
号码    数量    左脚数  右脚数
30        1         2      0
31        2         3      0      
32        3         0      2   
33        4         0      1     
34       23         3      4            
35       21         2      3   
36       12         3      1   
37       13         2      5     
汇总表        
号码    数量     
30      1L2               
31      2L3                     
32      3R2                  
33      4R1                  
34       23                           
35       21                  
36       12                  
37       13               

就是左右脚一个为0时  数量就是+L(左)数量 或者  +R(右)数量   同时存在 就取原本数量
搜索更多相关主题的帖子: 明细表 汇总表 
2012-05-24 17:36
png
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:4
帖 子:126
专家分:880
注 册:2010-10-6
得分:20 
可以用 case 语句.  类似 -

Select  ID,
        case
            when Left <>0 and Right <>0 then Amount
            when Left  = 0              then Amount + 'R' + Right
            when Right = 0              then Amount + 'L' + Left
        end

另外, 如果左右都为0你想得到 5R0 还是 5L0?
2012-05-25 00:17
soosii
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2012-3-2
得分:0 
左右数量为0  只取数值5  不加左右
2012-05-26 11:31
soosii
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2012-3-2
得分:0 
还有 这样会出现 转换字符的错误
2012-05-26 11:32
png
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:4
帖 子:126
专家分:880
注 册:2010-10-6
得分:0 
Select  ID,
        case
            when (Left <>0 and Right <>0) or (Left =0 and Right =0) then Amount
            when Left  = 0              then Amount + 'R' + Right
            when Right = 0              then Amount + 'L' + Left
        end

转换字符的错误应该是由于类似 Amount + 'R' + Right 的运算. 可以试试 cast(Amount as varchar) + 'R' + cast(Right as varchar)


2012-05-30 06:11



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-367976-1-1.html




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

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