2011-07-14 32 views
1

我有一個表是這樣的:顯示一個字符給次數

enter image description here

我需要將字符「A」遞增的次數增加的stor_id如果數量< = 90的端部。

所以返回的查詢後,我應該得到的東西,如:

Stor_Id 
7131 
7066 
7067a 
8042aa 
7896aaa 
6380aaaa 

謝謝!

+0

你能不能給你如何確定的多少」應該被追加更詳細? –

+0

這必須是我第一次看到這樣的要求。請問爲什麼? – Jacob

+0

@Abe,如果查詢第一次看到qty <90,它會向對應的stor_id中添加一個「a」,如果查詢看到qty <90,則第二次添加兩個「a」等。@Cularis,不要說這是一個祕密: ) – user194076

回答

3

假設等級也是一個遞增的數字。如果沒有,那麼我不知道如何爲您操作的每一行添加數字增量。

像這樣的東西應該工作(沒有測試,但應該差不多了)

UPDATE U 
SET stor_Id = stor_Id + REPLICATE('A',rank) 
FROM MyTable AS U 
WHERE qty <= 90 
+1

+1,我只會建議做'rank - 2',因爲這似乎是他想要的。 –

+0

讓我試試看。我們可以使用此命令獲得排名:rank()OVER – user194076

+0

@Treborbob,我不明白您的評論。我正在討論用'rank-2'替換代碼中的'rank',而不是改變where子句 –