2014-10-03 90 views
-1

目前我有三個表:測試,聯繫人和員工插入數據表

測試

FirstName LastName 

聯繫

Contact_Id Contact_FirstName Contact_LastName 

人員

Staff_ID Contact_Id 

工作人員用ID應該自動增量,我需要一個scr通過測試表中的所有行的ipt。如果名字和姓氏匹配Contact_FirstName和Contact_LastName。將匹配的Contact_ID號碼添加到Staff表中的Contact_Id。

回答

0
INSERT INTO `staff` (`Contact_Id`) 
SELECT c.`ContactId` 
FROM `Contact` c 
JOIN `Test` t ON c.`Contact_FirstName` = t.`FirstName` AND 
        c.`Contact_LastName` = t.`LastName` 
0

首先通過在CREATE語句中添加IDENTITY來更改Staff表的結構,如果您希望它自動遞增。

CREATE TABLE工作人員(INT STAFFID身份,使用ContactID INT)

現在試試這個插入只是因爲使用ContactID IDENTITY允許跳過該列,SQL爲您創建這些ID。

INSERT SELECT的工作人員從CONTACT_ID觸點C JOIN試驗T ON c.Contact_FirstName = t.FirstName和c.Contact_LastName = t.LastName

這好像它檢查基於測試的聯繫人名字聯繫的聯繫人姓名。 。但這應該工作,如果你通過人的名字代替t.FirstName和t.LastName