2012-05-09 116 views
0

不確定這是否是一個基本問題,但我似乎無法弄清楚語法。SQL - 需要將數據從一個表插入另一個表中,其中1個字段等於另一個

我有一個表leads - 主鍵LeadsId和另一個表rep_assign與主鍵lead_id

我想存儲rep_id,這是一個位於rep_assign的字段,leads表中的leads.LeadsId = rep_assign.lead_id

任何人都知道如何?我只想將數據從一個表格移動到另一個表格,其中LeadsId等於lead_id

我試過SELECT INTOINSERT INTO有幾種方法,但我似乎無法讓它工作。

感謝您的幫助。

+1

Leads表和Rep_assign表之間有什麼關係? OneToOne,OneToMany等? – MadushM

+0

OnetoOne - leads.LeadsId = rep_assign.lead_id –

回答

0

聽起來你的兩個表格已經包含了大部分數據。也許你只需要更新線索表來添加rep_id。

UPDATE leads SET rep_id=(SELECT rep_id FROM rep_assign WHERE rep_assign.lead_id=leads.LeadId ORDER BY rep_assign_id DESC LIMIT 1) 

N.B.像這樣的子查詢適用於大多數RDBMS,但不是全部。如果這對你不起作用,如果你能告訴我們你正在使用什麼RDBMS(例如MySQL),這將有所幫助。

+0

我跑這個,它說'未知的列leads.LeadsId在where子句' - 沒有任何意義LeadsId在整個程序中使用。它是一個MySql數據庫。 –

+0

對不起錯誤鍵入原始查詢。現在當我運行上面它讀取'子查詢返回多個行'。 ?? –

+0

您可以輕鬆地將LIMIT 1放入子查詢中,但聽起來您的數據存在更大的問題。 在您的rep_assign表中可能有多個具有相同lead_id的記錄?如果是這樣,你打算如何知道應該將哪個代表複製到引導表中? 該查詢絕對可以做你想做的,只是幫助我瞭解你想要的。 –

相關問題