我需要创建一个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的唯一组合。
答案 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