2015-04-03 35 views
0

我有一個表,其中有3列,其中第一個和最後一個是日期。所以我想要的是,我將交換第一列日期與最後一列僅在第row.Other行會隨着usual.Dates將是動態的如何交換表中第一列的第一個值在mysql中

MyTable 
DateAdded1 Name DateAdded2 
2015-01-23 A  2015-03-12 
2015-02-13 B  2013-03-19 
2015-04-23 C  2015-03-12 

現在,我的要求是,我會互換2015年3月12日在最新的2015 - 的地方01-23其他行將相同。請別人幫我。

+0

你有一個主鍵? – 2015-04-03 09:10:39

+0

不,我沒有... – lucifer 2015-04-03 09:11:31

+0

這是一個很大的錯誤,你應該有一個主鍵,以避免這些情況。 – 2015-04-03 09:40:24

回答

0

它可以幫助你

update mytable 
    set dateadded1 =(select dateadded2 from mytable where Name ='A' 
, dateadded2 =(select dateadded1 from mytable where Name ='A') 
    where Name ='A' 
+0

但它是一個查詢我做的東西與數據我將如何申報這種方式我顯示日期的地方 – lucifer 2015-04-03 09:14:51

+1

對不起,我沒有讓你可以詳細說明 – 2015-04-03 09:16:01

+0

我希望在一個查詢中的功能 – lucifer 2015-04-03 09:36:25

0

你可以用一個查詢做到這一點:

update tbl 
join 
(select DateAdded2, 
     name, 
     DateAdded1 
from tbl limit 1)q 
on tbl.name=q.name 
set tbl.DateAdded1=q.DateAdded2, 
    tbl.DateAdded2=q.DateAdded1; 

可以check it.

相關問題