2016-11-30 7 views
0

テーブルに列を追加しようとしていますが、この列にシーケンス番号を割り当てる方法を見つけようとしていません。別のテーブルの条件に基づいてシーケンス番号を作成する方法は?

  • カラムIDC_Seq_No 1つのテーブル(A)
  • D_Seq_NoType別のテーブル(B)からのものであるからです。

私はいつでもC_Seq_Noは、1つのIDのために3回「1」の数に現れるところ、その後、D_Seq_No wouldそのIDのため1, 2, and 3のシーケンス番号を作成して一緒に2つのテーブルを結合しようとしています。ここで

は、私はまだD_Seq_No欄には何も割り当てられていないので、私は2テーブルを結合するクエリを実行すると、私が持っているものです。

 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 

これは私が見て、私のクエリ結果セットで何をしたいですこれらの2つの表を結合するときのように:

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

どのようなクエリがその結果を作成していますか?なぜなら、2つのテーブルがあると、それを生成するための結合が存在しないからです。 –

+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が別のテーブルのものである場合に実行できますか?私たちは右にジョインステートメントを使用することはできません? @EkansDasnakE。 – EkansDasnakE

+0

。 。列が同じ表から来る必要はありません。 –

関連する問題