2013-11-15 45 views
0

我只需要將一個表中的值插入到另一個表中,但條件是出於相同的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查詢它

回答

0

你能嘗試:

INSERT INTO Table2 (idcolumn, datecolumn) 
SELECT DISTINCT idcolumn, datecolumn 
FROM Table1 
GROUP BY idcolumn 
ORDER BY datecolumn DESC 
+0

謝謝,但沒有不工作 –

+0

會發生什麼?一個錯誤或只是沒有出現? 你可以嘗試沒有ORDER BY子句? – Franck

+0

這會將整個table1插入到table2中,只會省略重複的_records_。但是在這個例子中沒有重複記錄。 DISTINCT將會看到(1,2/2/13)與(1,2/3/13)不同,所以包括兩行。 – oerkelens

0
INSERT INTO table2(a,b) 
SELECT a, MAX(b) AS b 
FROM table1 
GROUP BY a; 
+0

這應該工作,雖然只是假設這些日期確實是日期而不是作爲字符串存儲(然後還有一個其他問題!) – oerkelens