0

我有一个receipt_data包含contract_noreceipt_no列的视图 - 像这样:

contract_no | receipt_no | Amount
------------+------------+---------
1176        | ABMN1024   |  100 
1176        | ABMN1027   |  767
1176        | ABMN1027   |  345
NULL        | MNDF7132   |  389
NULL        | NULL       |  673
1046        | MDGF2344   |  454

我需要查询这个视图并添加运行号。运行编号应添加如下。

 run_no    |contract_no | receipt_no | Amount
 ----------+------------+------------+--------    
  1        | 1176       | ABMN1024   |  100 
  2        | 1176       | ABMN1027   |  767
           | 1176       | ABMN1027   |  345
  3        | NULL       | MNDF7132   |  389
           | NULL       | NULL       |  673
  4        |1046        | MDGF2344   |  454  

流水号必须像

  1. 将流水号添加到唯一contract_no + receipt_no
  2. 如果receipt_no有值则返回运行号
  3. 如果receipt_no为null,则不需要添加流水号,跳过它

可以这样写脚本吗?请帮忙

4

1 回答 1

0

您可以尝试使用row_number()解析函数

select 
case when receipt_no is not null
then
row_number()over(order by (select null))
else null end as run_no,t.* from
table_name t
于 2019-03-22T05:12:59.720 回答