繁体   English   中英

如果为true,则执行其他操作以跳过SQL

[英]If true do something else skip SQL

您好,我有如下数据:

在此处输入图片说明

我正在尝试提供将计算“ MERGE”列的代码。 基本上,我应该检查是否CLM_x> 0,然后从SZ_x中获取值,并与CLM_x中的值进行连接。 我正在尝试使用case,但是如果CLM_x = 0时我不知道如何跳过合并: CLM_TBL1> 0 THEN('Size'+ SZ_1 +'-Qty'+ CLM_1)时为CASE ... end。 ..

请指教,谢谢!

uck 这是一串字符串算法:

select stuff( ((case when clm1_1 > 0 then concat(', Size ', sz_1, '-Qty ', clm1_1) else '' end) +
               (case when clm1_2 > 0 then concat(', Size ', sz_2, '-Qty ', clm1_2) else '' end) +
               (case when clm1_3 > 0 then concat(', Size ', sz_3, '-Qty ', clm1_3) else '' end)
              ), 1, 2, ''
             ) as merge_column

您只需要将case语句串在一起。

merge = 
    case
        when CLM_1 > 0 then 'Size ' + SZ_1 + '-Qty '+ CLM_1 + ' '
        else ''
    end
    +
    case
        when CLM_2 > 0 then 'Size ' + SZ_2 + '-Qty '+ CLM_2 + ' '
        else ''
    end
    +
    case
        when CLM_3 > 0 then 'Size ' + SZ_3 + '-Qty '+ CLM_3 + ' '
        else ''
    end

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM