交叉列之间的减法

时间:2019-07-23 15:26:01

标签: sql teradata common-table-expression

Year_1  Product CDpasshr    PCWHr
201801  TANF Standard   22.205  0
201801  TANF Standard   0   22

预期的O / P

201801  TANF Standard   22.205  22

1 个答案:

答案 0 :(得分:1)

您的预期输出表明您需要以下查询:

SELECT
    Year_1,
    Product,
    MAX(CDpasshr) - MIN(CDpasshr) AS CDpasshr,
    MAX(PCWHr) - MIN(PCWHr) AS PCWHr
FROM yourTable
GROUP BY
    Year_1,
    Product;

似乎您想报告CDpasshrPCWHr列中每组两行之间的绝对差。取最大值和最小值之差应该起作用,因为这种差异应始终为正。请注意,我的答案假设给定的组将始终包含两个记录。如果没有,那么答案就必须更改。