我有2個表:設置列日到另一表的日期列加30天
newtable的
ID____PersonID___Criteria___TimeStamp
1_____456________1__________01/08/2014
2_____287________0__________01/08/2014
3_____359________0__________01/08/2014
代碼PersonTable
ID______LastLogin
456_____11/08/2013
287_____10/25/2013
359_____09/15/2013
我試圖要做的是更新NewTable.TimeStamp等於PersonTable.LoginDat Ë加30天,其中NewTable.Criteria = 0
預期的效果
newtable的
ID____PersonID___Criteria___TimeStamp
1_____456________1__________01/08/2014
2_____287________0__________11/24/2013
3_____359________0__________10/15/2013
我已經試過,但這些似乎沒有做任何事情:
UPDATE NewTable AS NT
INNER JOIN PersonTable AS PT ON PT.ID = NT.PersonID AND NT.Criteria = 0
SET NT.TimeStamp = DATE_ADD(PT.LastLogin, INTERVAL 30 DAY);
- 我試過了
UPDATE `NewTable` AS NT, PersonTable AS PT
SET NT.TimeStamp = DATE_ADD(PT.LastLogin, INTERVAL 30 DAY)
WHERE NT.PersonID = PT.ID
AND NT.Criteria = 0;
你能解釋爲想要擺脫你的'PersonTable'表的邏輯是什麼? – Kermit
@Ken。 。 。您的第一個查詢看起來正確你確定'LastLogin'是日期/日期時間嗎?你確定'NT.Criteria'是一個整數而不是一個字符串嗎? –
LastLogin和UserID列在哪裏?或其他查詢,然後你的列? –