我有两张包含以下数据的表
TABLEA
TYPES COLUMNA COLUMNB COLUMNC
DART 8.00 9.00 10.00
TABLEB
TYPES DESCP ACNT
DART COLUMNA 14000
DART COLUMNB 15000
DART COLUMNC 16000
我的预期输出是
TYPES AMT ACNT
DART 8.00 14000
DART 9.00 15000
DART 10.00 16000
我编写了以下代码来获取输出
SELECT X.TYPES,
CASE WHEN DESCP='COLUMNA' THEN COLUMNA
WHEN DESCP='COLUMNB' THEN COLUMNB
WHEN DESCP='COLUMNC' THEN COLUMNC ELSE NULL END AMT,
B.ACNT
FROM
TABLEA X
JOIN
TABLEB Y
ON X.TYPES=Y.TYPES
这些只是样本数据,大约有10种类型,超过10列。除了编写包含所有列以实现此目的的case语句之外,还有其他选择吗?感谢