这是我第一次问堆栈溢出问题
这是我的询问
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 |
谢谢您并致以诚挚的问候
您可以尝试使用条件聚合。这是例子
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;