我需要创建一个Query来比较同一个表中的两列

时间:2014-03-25 08:39:06

标签: sql

我需要创建一个SQL查询,其中我必须比较同一个表的两列中的值,使得一列中的值之和等于另一列中的静态值。

例如,有4列

1.) Internal ID
2.) Plan_id 
3.) Numerator value
4.) Denominator value.

因此,只要内部ID和Plan_id是唯一的,我需要将分子列的相应值相加,然后将其与分母列进行比较。

代表:

INTERNAL_ID      PLAN_ID         NUMERATOR       DENOMINATOR
12345            10                30               50
12345            10                20               50
12345            20                10               50
34566            10                10               10

在这里,我需要将内部id 12345作为其分子值(30+20) = 50 (denominator value)的总和,用于plan_id和internal_id的唯一组合。

1 个答案:

答案 0 :(得分:0)

试试这个

SELECT INTERNAL_ID,
       PLAN_ID,
       NUMERATOR,
       Sum(NUMERATOR) Over (Partition By INTERNAL_ID,PLAN_ID Order By (Select Null)) AS DENOMINATOR
FROM Table1