2016-11-30 61 views
0

我想在表中添加一列,但我試圖找出一種方法來分配序列號到這個列。如何根據另一個表的條件創建序號?

  • IDC_Seq_No是從一個表(A)
  • D_Seq_NoType是從另一個表(B)。

我想加入2代表一起在那裏隨時C_Seq_No顯示了「1」爲一個ID三次號碼,然後D_Seq_No would創建1, 2, and 3的序列號爲ID。

這裏是我,當我運行查詢加入2表,因爲我沒有任何分配給D_Seq_No列尚未:

 TABLE A       TABLE B 
ID   C_Seq_No | D_Seq_No   Type 
123    1  |  NULL   02 
123    1  |  NULL   04 
123    1  |  NULL   06 
123    2  |  NULL   03 
123    2  |  NULL   05 
123    2  |  NULL   07 

這是我想在我的查詢結果集看像加入這兩個表時一樣:

ID   C_Seq_No  D_Seq_No   Type 
123    1    1    02 
123    1    2    04 
123    1    3    06 
123    2    1    03 
123    2    2    05 
123    2    3    07 
+0

什麼查詢創建該結果?因爲如果你有兩張表,那就沒有任何連接來生成它。 –

+0

更新表B設置D_Seq_No – EkansDasnakE

+0

該查詢不連接表A和B –

回答

2

您正在尋找row_number。該調用看起來像這樣:

select . . ., 
     row_number() over (partition by id, c_seq_no order by type) as d_seq_no, 
     type 
from . . . 
+0

如果id和c_seq_no來自另一個表,那麼可以這樣做嗎?我們不能使用join語句嗎? – EkansDasnakE

+0

@EkansDasnakE。 。 。沒有要求列來自同一張表。 –

相關問題