1
我有2個相同的表。 「數字」和「產品代碼」是唯一的關鍵。這個獨特的組合鍵適用於兩個表格。Mysql:從源表更新記錄到目標表
我想從表2中插入記錄到表1中。它可能是一個記錄唯一鍵已經存在。在這種情況下,記錄需要更新所有字段。但是...記錄只需要瞭解從表2中記錄的日期字段是最近再從表中的日期字段1
我嘗試以下進行更新:
INSERT INTO Table_dest (Number, Productcode, TransactionDate,
TransactionTime, Price)
SELECT
Number, Productcode, TransactionDate, TransactionTime, Price
FROM
Table_source
WHERE
Table_source.TransactionDate >= Table_dest.TransactionDate
AND Table_source.TransactionTime > Table_dest.TransactionTime;
但它給我錯誤在WHERE子句中。 它也給重複的錯誤,但我不知道如何地址。 任何人有任何建議? 謝謝!
嘗試運行只選擇查詢並檢查它的結果。源表和目標表中的列數必須匹配。 – Harpreet 2013-04-07 10:57:00
謝謝!我做了以下事情:INSERT INTO Table_dest(Number,Productcode,TransactionDate,TransactionTime,Price)SELECT Number,Productcode,TransactionDate,TransactionTime,Price FROM Table_source s LEFT JOIN Table_dest d ON s.Number = d.Number AND s.Productcode = d .Productcode WHERE s.TransactionDate> = s.TransactionDate AND s.TransactionTime> d.TransactionTime;但是現在它給了我一個錯誤信息:「字段列表中的列'數字是不明確的」。 – 2013-04-07 11:02:41
由於字段以相同的方式命名,所以此錯誤結果。像這兩個表都有同名的字段。 MySQL引擎無法決定遵循哪個表。試試這樣的:'SELECT s.Number,s.Productcode' – Harpreet 2013-04-07 11:07:42