如何通过Hana SP12中的查询满足以下要求

时间:2018-09-11 06:39:44

标签: sql sap hana

我有一个要求,我要按以下特定格式组合显示购物的顾客数量。

         Format A   Format B    Format C
Format A    10       20          30
Format B    20       30          40
Format C    30       40          50

例如以以下格式。

所需的输出:

  

仅使用格式A购物的客户数量为10。

     

使用A和B格式购物的客户数量为20。

     

使用A和C格式购物的客户数量为30。

依此类推。

如何使用查询完成此操作?

1 个答案:

答案 0 :(得分:0)

没有足够的信息清楚地了解您的要求,但我认为您的数据如下所示:

TXT      | Format A |Format B  | Format C
----------------------------------------
Format A | 10       | 20       | 30
Format B | 20       | 30       | 40
Format C | 30       | 40       | 50

现在,如果您要透视此表以显示每个组合的值而不重复,则可以使用如下逻辑:

SELECT
    'A' || CASE WHEN RIGHT("TXT",1) = 'A' THEN '' ELSE RIGHT("TXT",1) END  AS "FORMAT" ,
    "Format A" AS "OUTPUT"
FROM
    "YOUR_TABLE"

    UNION

SELECT
    'B' || CASE WHEN RIGHT("TXT",1) = 'B' THEN '' ELSE RIGHT("TXT",1) END,
    "Format B" AS "OUTPUT"
FROM
    "YOUR_TABLE"                 
WHERE
    "TXT" != 'Format A'

    UNION

SELECT
    'C' || CASE WHEN RIGHT("TXT",1) = 'C' THEN '' ELSE RIGHT("TXT",1) END,
    "Format C" AS "OUTPUT"
FROM
    "YOUR_TABLE"
WHERE
    "TXT" NOT IN ('Format A',   'Format B')
;

输出将如下所示:

FORMAT  | OUTPUT
A       | 10
AB      | 20
AC      | 30
B       | 30
BC      | 40
C       | 50
相关问题