Здравствуйте, Sshur, Вы писали:
S>Здравствуйте, puma777, Вы писали:
P>>Добрый день!
P>>Возник ещё вопросик в моей юной карьере
P>>если хочешь сделать update, в котором имеется inner join на эту же таблицу, как поступать?
S>Если иннер джойн нужен для фильтрации, то update.. from S>Если хочется обновить сразу 2 таблицы, то никак
обновить хочу несколько строчек в одном столбике, но т.к. иннер ёин на одну и туже таблицу, не могу написать скрипт.
Здравствуйте, Sshur, Вы писали:
S>Здравствуйте, puma777, Вы писали:
S>>>Если иннер джойн нужен для фильтрации, то update.. from S>>>Если хочется обновить сразу 2 таблицы, то никак
P>>обновить хочу несколько строчек в одном столбике, но т.к. иннер ёин на одну и туже таблицу, не могу написать скрипт.
S>так что ли?
S>
S>update products
S>set Name = "111"
S>from categories
S>where categories.id = products.category and categories.Name = 'Beverages'
S>
нет, имела ввиду так:
UPDATE C
set SerialNumber = '0'
FROM [VerbauInfo_Prod].[dbo].[Component] AS C inner join [VerbauInfo_Prod].[dbo].[Component] AS ED
ON C.ComponentParentId = ED.ObjectId
where C.ComponentKindObjectId = 104
and ED.SerialNumber = '010034890'
Вот так можно, но твой вариант тоже должен работать. Какую ошибку выдает?
UPDATE
set SerialNumber = '0'
FROM [VerbauInfo_Prod].[dbo].[Component]
where C.ComponentKindObjectId = 104
and C.ComponentParentId in (select ED.ObjectId from [VerbauInfo_Prod].[dbo].[Component] AS ED where ED.SerialNumber = '010034890')