Использование SQL для определения, имеют ли все записи связанной таблицы одинаковое значение


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

MainTable содержит поле состояния и связана с Подтаблицей, которая также имеет поле состояния. Мне нужно обновить статус каждой записи в MainTable, где все связанные записи в SubTable имеют одинаковый статус x.я пробовал несколько запросов, но думаю, что я иду по этому неверному пути. Любая помощь будет весьма признательна. Спасибо.

2   3  

2 ответа:

Например, имея следующие таблицы:

   Producer ( Code,Name,Status)
   Goods    ( GCode,PCode( Producer Code),Name,Status)

И Запрос:

Update   Producer  set Status=F  
where not exists (select * from Goods where Status <> X and Goods.PCode= Producer.Code)         

Попробуйте это :

Update schema.yourtable s set s.fieldtoupdate = (
Select e.Relationalfield from schema.RealtionalTable  e where e.STATUSFIELD = s.STATUSFIELD);

Надеюсь, это поможет