2015-04-03 4 views
1

У меня есть таблица A, которая имеет идентификатор и идентификатор заявки. В таблице B также есть идентификатор проекта. Я хочу сделать это для каждого отдельного идентификатора предложения в таблице B, я хочу создать новую строку в таблице A с тем же идентификатором проекта и новым идентификатором.Создайте строку в таблице A для каждого отдельного значения в таблице B

Так таблица А есть эти различные proposalIDs:

94CAEF39-855B-4B5C-9534-9D4AD0A75FC8 
C1D87317-7028-4F69-91D4-FFFBB35E7ACD 
807D7733-5CCF-486F-81E5-FFF153307C22 
521E22E2-511E-46F2-AA46-FFF832367A9E 

Что я хочу таблицу В, чтобы в настоящее время является:

ID: new uniqueidentifier, proposalID: 94CAEF39-855B-4B5C-9534-9D4AD0A75FC8 
ID: new uniqueidentifier, proposalID: C1D87317-7028-4F69-91D4-FFFBB35E7ACD 
ID: new uniqueidentifier, proposalID: 807D7733-5CCF-486F-81E5-FFF153307C22 
ID: new uniqueidentifier, proposalID: 521E22E2-511E-46F2-AA46-FFF832367A9E 

Я все еще учусь SQL и не знаю, как подойти к это. Я знаю, как получить все отдельные идентификаторы, но после этого я не знаю.

ответ

1

Как насчет этого?

insert into A(id, proposal) 
    select uuid(), proposal 
    from (select distinct proposal 
      from b 
     ) b; 

Однако, не было бы проще использовать автоинкрементный идентификатор для таблицы A? Тогда id установит себя, когда вы введете новое значение.

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