2016-09-01 19 views
2

私のサンプルデータが追加は手紙

+--------+----------+--------+ 
| Number | Date  | amount | 
+--------+----------+--------+ 
| 135 | 20160901 | $10 | 
| 135 | 20160912 | $20 | 
| 135 | 20160915 | $30 | 
+--------+----------+--------+ 

ようになるコラム を整数に文字を追加するSQLクエリを必要とする以下のような出力が必要になり、結果はに基づいている必要があります第二の日付のレコードが月の最初の取引であったため、Xが最初のレコードでは、一度追加され

+--------+--------+ 
| Number | amount | 
+--------+--------+ 
| 135X | $10 | 
| 135XX | $20 | 
| 135XXX | $30 | 
+--------+--------+ 

、XX、それは2番目のトランザクションだったように、上のベース「N」なしXののを追加する必要があるとして、モンで取引が行われた回数h。

select (cast(number as varchar(255)) + 
     replicate('X', row_number() over (partition by number, year(date), month(date) order by date) 
       ) 
     ) as number, 
     amount 
from t; 

あなたはそれが不自然に命名された文字列の列であると仮定すると、Number列を更新するための同様のロジックを使用することができます。

親切にここ

答えて

4

一つの方法であることを示唆しています。

+0

ありがとうございます、少しの変更が必要でしたし、私の必要に応じてそれをしました。 – Harsha