2014-10-03 3 views
-1

В настоящее время у меня есть три таблицы: тест, контакты и персоналВставка данных в таблицу

тест

FirstName LastName 

Контакт

Contact_Id Contact_FirstName Contact_LastName 

персонал

Staff_ID Contact_Id 

Идентификатор Персонал должен быть автоматическим приращением, мне нужна сцена ipt, которые проходят через всю строку в тестовой таблице. Если FirstName и LastName совпадают с Contact_FirstName и Contact_LastName. Добавьте сопоставленный номер Contact_ID в Contact_Id, который находится в таблице Staff.

ответ

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

Сначала измените структуру таблицы персонала, добавив IDENTITY в оператор CREATE, если вы хотите, чтобы он автоматически увеличивался.

CREATE TABLE Staff (StaffID INT IDENTITY, ContactID INT)

теперь попробуйте это вставить только потому, что ContactId IDENTITY позволяет пропустить этот столбец, SQL создает эти идентификаторы для вас.

ВСТАВИТЬ Персонал ВЫБРАТЬ Contact_ID от контакта Ĉ РЕГИСТРИРУЙТЕСЬ Испытание Т ON c.Contact_FirstName = t.FirstName и c.Contact_LastName = t.LastName

это кажется, что это проверка контактных имен Контакты на основе контактных имен Test. но это должно работать, если вы передадите имя человека вместо t.FirstName и t.LastName

Смежные вопросы