我只需要將一個表中的值插入到另一個表中,但條件是出於相同的ID,我必須選擇具有最大日期的那個,然後插入另一個表中。像:基於最大日期的sql inserr
表1
a | b
1 | 12/1/13
1 | 18/1/13
2 | 2/4/13
2 | 9/8/13
表2
a | b
1 | 18/1/13
2 | 9/8/13
請建議的SQL查詢它
我只需要將一個表中的值插入到另一個表中,但條件是出於相同的ID,我必須選擇具有最大日期的那個,然後插入另一個表中。像:基於最大日期的sql inserr
表1
a | b
1 | 12/1/13
1 | 18/1/13
2 | 2/4/13
2 | 9/8/13
表2
a | b
1 | 18/1/13
2 | 9/8/13
請建議的SQL查詢它
你能嘗試:
INSERT INTO Table2 (idcolumn, datecolumn)
SELECT DISTINCT idcolumn, datecolumn
FROM Table1
GROUP BY idcolumn
ORDER BY datecolumn DESC
INSERT INTO table2(a,b)
SELECT a, MAX(b) AS b
FROM table1
GROUP BY a;
這應該工作,雖然只是假設這些日期確實是日期而不是作爲字符串存儲(然後還有一個其他問題!) – oerkelens
謝謝,但沒有不工作 –
會發生什麼?一個錯誤或只是沒有出現? 你可以嘗試沒有ORDER BY子句? – Franck
這會將整個table1插入到table2中,只會省略重複的_records_。但是在這個例子中沒有重複記錄。 DISTINCT將會看到(1,2/2/13)與(1,2/3/13)不同,所以包括兩行。 – oerkelens