2014-10-03 91 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