Здравствуйте!
Подскажите пожалуйста по поводу данного кода, по логике вещей ряд должен обновить 100 записей:
UPDATE voip_nums SET provider = 'AwesomeProvider' WHERE ... ??? FROM (SELECT provider FROM voip_nums WHERE provider = 'CurrentProvider' AND nid IN (SELECT nid FROM voip_num_extparams WHERE did IN (SELECT did FROM voip_dids WHERE num='1112233')) LIMIT 100);
но почему то выдается следующая ошибка:
HINT: For example, FROM (SELECT ...) [AS] foo.
Только только встал на пути освоения SQL, очень надеюсь на ваш опыт и профессионализм. А суть в том, что нужно обновить ряд из 100 записей
Тут:
Тут: http://www.postgresql.org/docs/9.3/static/sql-update.html
Ты voip_nums в верху иерархии (UPDATE) ни счем не связал внизу иерархии.
Должно быть как-то так:
Но это чисто на первый взгляд
Спасибо за статью, но запрос
Спасибо за статью, но запрос по прежнему не работает. Каким то образом нужно указать, что обновление должно быть для ста записей этого ряда такой-то таблицы
UPDATE voip_numsSET provider
Такой запрос выберет 112 записей, соответствующий условиям и благополучно изменит поле provider. А может ли кто подсказать синтаксис при котором условие стоит таким образом, что бы изменить половину от имеющегося (без LIMIT 112), результат поделить на 2 ?