查询1:
select col1,sum(col2) from tablea src
join
(select distinct col3,ROW_NUMBER() OVER(ORDER BY col3 desc) as RN )
From tableb) trgt
where RN=1 and src.col3 = trgt.col3 group by col1
查询2:
select col1,sum(col2) from tablea src
join
(select distinct col3,ROW_NUMBER() OVER(ORDER BY col3 desc) as RN )
From tableb) trgt
where RN=2 and src.col3 = trgt.col3 group by col1
加入查询:
select *
from (Query 1) curr join (Query 2)
prev on curr.col1 = prev.col1
失败:ParseException行6:75无法识别子查询源中'as''curr'附近的输入
答案 0 :(得分:0)
我认为没有必要加入这两个问题,因为它们彼此非常相似,就像两滴水一样。
某种透视查询可以完成这项工作:
SELECT col1,
SUM( CASE WHEN rn=1 THEN col2 END ),
SUM( CASE WHEN rn=2 THEN col2 END )
FROM tablea src
JOIN (
select col3,ROW_NUMBER() OVER(ORDER BY col3 desc) as RN )
From tableb
) trgt
ON src.col3 = trgt.col3 AND trgt.rn <= 2
GROUP BY col1