2013-08-22 2 views
0

Я обновляю 3 справочных таблиц таблицы ассоциаций следующим образом:SQL вставки в справочные таблицы ассоциации таблиц

insert into LookUpTable1_AssociationTable1 ([LookupId],[AssociationId]) 
select Id as LookupId, 4 as AssociationId from LookupTable1 

insert into LookUpTable2_AssociationTable2 ([LookupId],[AssociationId]) 
select Id as LookupId, 4 as AssociationId from LookupTable2 

У меня есть 4 записи в моей главной таблице ассоциации. Поэтому я могу запустить вышеупомянутую замену жестко закодированного «4» на каждый идентификатор в моей основной таблице ассоциации, но могу ли я сделать это как набор каким-то образом? Просто запустите «основанный на наборе» (не процедурный) sql, который берет все 4 записи в таблице объединений и автоматически выполняет выписки.

ответ

2

Не уверен, правильно ли я понял ваше намерение. Проверьте, подходит ли запрос ниже ваших потребностей.

insert into LookUpTable1_AssociationTable1 ([LookupId],[AssociationId]) 
select 
    l.Id as LookupId 
    ,a.Id as AssociationId 
from 
    LookupTable1 l 
    cross join Association a 
Смежные вопросы