Как написать запрос UPDATE для нескольких таблиц в формате выражений общих таблиц (CTE)? - PullRequest
0 голосов
/ 26 февраля 2020

Как мне переписать следующий оператор UPDATE в формате общих табличных выражений (CTE)?

DB::statement('UPDATE taggables, threads SET taggables.created_at = threads.created_at, taggables.updated_at = threads.updated_at WHERE taggables.thread_id = threads.id');

1 Ответ

0 голосов
/ 26 февраля 2020

Я не вижу смысла использовать CTE здесь. Поскольку кажется, что ваша цель - обновить taggables с threads, я бы предложил просто использовать Postgres 'update / join синтаксис , который выглядит так:

update taggables ta
set created_at = th.created_at, updated_at = th.updated_at
from threads th
where ta.thread_id = th.id
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...