2017-08-12 39 views
-2

表A:如何在sp。中编写查询?

Unique_code Deal_No Option Aount 
1234   155-12  Sell  100 
1234   155-12  Buy  200 
5678   155-13  Sell  300 
9101   155-14  Buy  400 

极品:

Unique_code Deal_No Option  Aount 
1234   155-12  Sell  300 
5678   155-13  Sell  300 
9101   155-14  Buy  400 

我需要的uniq的代码的总和。

+0

你尝试过这么远吗?你能否粘贴你的代码,即使它不完整。 –

+0

我试着将表B中的数据转储作为临时表。和Inner加入到unique_code的两个表格基础上。但行增加。 – amit

回答

0

简单GROUP BY和总和将给出结果:

Select Unique_code, Deal_no, Sum(Amount) as Amount 
    from yourtable 
group by Unique_code, Deal_no 

可以如下,如果你有多个列查询:

Select * from (
    Select *, Sum_Amount = Sum(Amount) over(partition by Unique_Code, Deal_No), 
     RowN = Row_Number() over(partition by Unique_code, Deal_No order by [option] desc) 
     from yourtable) a 
    Where a.RowN = 1 
+0

实际上,表A有多个列,因此Group By子句不可能。 – amit

+0

这是错误: 列'A.name'在选择列表中无效,因为它不包含在聚合函数或GROUP BY子句中。 – amit

+0

您在分组中选择除了总和以外的所有列? –