简体   繁体   English

DB2 SQL CONCAT AND COUNT

[英]DB2 SQL CONCAT AND COUNT

I was trying to combine the result as below:我试图将结果组合如下:

Current Result:当前结果:

BOOKING_NUM | TYPE 1 | TYPE 2
Ref1        | 3      | (null)
Ref1        | (null) | 6

Expected Result:预期结果:

BOOKING_NUM | TYPE 1 | TYPE 2
Ref1        | 3      | 6

I amusing the following query:我很有趣以下查询:

SELECT
    BEC.BOOKING_NUM
    ,CASE WHEN BEC.TYPE = '1' THEN COUNT(BEC.TYPE) END "Type 1"
    ,CASE WHEN BEC.TYPE = '2' THEN COUNT(BEC.TYPE) END "Type 2"
FROM    DB.EXCOM BEC
WHERE
    BEC.BOOKING_NUM = 'Ref1'
GROUP BY
    BEC.TYPE,
    BEC.BOOKING_NUM
ORDER BY
    BEC.BOOKING_NUM

I would love to seek for any suggestion.我很想寻求任何建议。 Thank you very much.非常感谢。

Tony托尼

You need to apply your condition within max()您需要在max()内应用您的条件

SELECT
     BEC.BOOKING_NUM
    ,max(CASE WHEN BEC.TYPE = '1' THEN BEC.TYPE END) "Type 1"
    ,max(CASE WHEN BEC.TYPE = '2' THEN BEC.TYPE END) "Type 2"
FROM    DB.EXCOM BEC
WHERE
    BEC.BOOKING_NUM = 'Ref1'
GROUP BY
    BEC.BOOKING_NUM
ORDER BY
    BEC.BOOKING_NUM

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

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