0
希望有人能幫助我。我有一個表X_Date
數據如下:mysql更新列自我連接基於兩個參考列(種類的查找)
+----+-----------+------+------+-------+
| ID | Date1 | Ref1 | Ref2 | Date2 |
+----+-----------+------+------+-------+
| 1 | 22/2/2015 | ABC | null | null |
| 2 | 23/4/2015 | DEF | ABC | null |
| 3 | 24/4/2015 | GHI | null | null |
+----+-----------+------+------+-------+
我想通過查詢更新如表:
+----+-----------+------+------+-----------+
| ID | Date1 | Ref1 | Ref2 | Date2 |
+----+-----------+------+------+-----------+
| 1 | 22/2/2015 | ABC | null | null |
| 2 | 23/4/2015 | DEF | ABC | 22/2/2015 |
| 3 | 24/4/2015 | GHI | null | null |
+----+-----------+------+------+-----------+
所以該行的Date1
其中Ref1
相同Ref2
從其他行需要更新爲Date2列的值
我嘗試了一些東西,但是我對mysql很陌生,幾乎知道我確實在做這個錯誤:
UPDATE
`X_Data` AS t1
CROSS JOIN (
SELECT DISTINCT
Date1, Ref1, Ref2, Date2
FROM
`X_Data`
) AS t2
USING (Ref2)
SET
t1.Date2 = t2.Date1
任何幫助非常感謝!
謝謝!
是的!這樣可行。非常感謝 – Peter
歡迎您! –