2013-11-20 4 views
0

У меня есть дочерний элемент, который мне нужно обновить.Внутренний запрос и объединения для двух таблиц

Где значение условия выбрано из столбца идентификатора родительского стола.

Update ChildTable set Column1 = 'Value', Column2 = 'Value2' 
Where ChildTable.Id = 100 
+0

Какая у вас СУБД? –

+0

@FilipeSilva Вопрос 'Update with Join 'отличается во всех РСУБД? –

+0

Есть СУБД, которые этого не позволяют. И есть различия в разных СУБД. –

ответ

1

Попробуйте следующие

Update ChildTable set Column1 = 'Value', Column2 = 'Value2' 
from ChildTable ct 
inner join parenttable pt on pt.key = ct.parentkey 
Where ChildTable.Id = pt.parentconditionfield 
0

Первое использование выбрать и убедитесь, что вы получаете соответствующие записи для обновления.

Как вы не указали правильную информацию, но из вашего примера я пришел к такому выводу.

SELECT c_t.column1, c_t.column2 
FROM parent_table p_t inner join child_table c_t 
ON  p_t.pk_column = c_t.fk_column 
WHERE c_t = 100; 



UPDATE c_t 
set c_t.column1 = 'Value', c_t.column2 = 'Value2' 
FROM parent_table p_t inner join child_table c_t 
ON  p_t.pk_column = c_t.fk_column 
WHERE c_t = 100; 
Смежные вопросы