如何更改我想要的表格形状?

问题描述 投票:0回答:1

这是我第一次问堆栈溢出问题

这是我的询问

  SELECT
    a.value,
    a.code,
    a.kndnr
  FROM
    raw a
    JOIN z_raw b ON a.code = b.zgrpc
  WHERE
    b.gubun = '09811'
    AND concat(a.gjahr, a.poper) = '2024001'
    AND a.artnr = 'F004000'
    AND a.prctr = '021011'
    AND a.artnr_t = 'H50M'
    AND (a.kndnr = '0000')

结果在这里

价值 代码 kndnr
300000 A00 10027
305000 A00 10026
300332 A01 10027
305442 A01 10026

我怎样才能使用sql查询来做到这一点

通常我的sql环境是Databricks sql

但是教oracle或mysql sql对我来说很好 我会健身

我总是尝试使用pivot,但失败了

所以请教我合适的方法

我尝试过数据透视表

我期待这个结果

A00 A01 kndnr
300000 300332 10027
305000 305442 10026

谢谢您并致以诚挚的问候

sql mysql oracle databricks databricks-sql
1个回答
0
投票

您可以尝试使用条件聚合。这是例子

SELECT
    MAX(CASE WHEN a.code = 'A00' THEN a.value END) AS A00,
    MAX(CASE WHEN a.code = 'A01' THEN a.value END) AS A01,
    MAX(a.kndnr) AS kndnr
FROM
    raw a
    JOIN z_raw b ON a.code = b.zgrpc
WHERE
    b.gubun = '09811'
    AND CONCAT(a.gjahr, a.poper) = '2024001'
    AND a.artnr = 'F004000'
    AND a.prctr = '021011'
    AND a.artnr_t = 'H50M'
    AND (a.kndnr = '0000')
GROUP BY
    a.kndnr;
© www.soinside.com 2019 - 2024. All rights reserved.