2012-12-01 51 views
1

這裏是我的表中的數據:反向列的值

id __ firstname __ lastname __ salary 
_____________________________________ 
1 __ John  __ Brown __ 2,1000 
2 __ David  __ Green __ 3,8000 
3 __ Matt  __ Blue  __ 1,6000 

你看,salary包含2個值,它們之間用逗號分隔。 我想反轉salary的值;所以約翰的薪水應該是1000,2,David,8000,3和Matt 6000,1

如何用sql查詢來做到這一點?

+0

必須在實際查詢中完成此操作嗎?您是否使用任何類型的腳本或編程語言? –

+0

子串怎麼樣? – Vucko

+0

@Asad:我更喜歡在phpMyAdmin中運行查詢..但如果沒有人找到幫助我,我應該寫一個PHP腳本。 – mrdaliri

回答

1

如何:

SELECT CONCAT(SUBSTRING_INDEX(salary,',',-1), ',', SUBSTRING_INDEX(salary,',',1)); 

這裏是一個演示:http://sqlfiddle.com/#!2/d41d8/4473

這裏有一個關於這個事情,SQL的主要用途是存儲和檢索數據,而不是改變或修改。理想情況下,您應該使用PHP來執行此操作。

+0

是的,但我在表中有很多行,我認爲運行mysql查詢比使用腳本更快(並沿着行循環並逐個更新) – mrdaliri