Я пытаюсь обновить таблицу tr данными из ht. Оба имеют почти одинаковые столбцы. Итак, чтобы проверить, я выполнил этот запрос.postgres update with join
SELECT * FROM tr a
RIGHT OUTER JOIN ht b
USING (date, name, ft)
WHERE ft IS NOT NULL
дает 129 строк Проверить это было нормально, то я побежал как- запроса обновления>
UPDATE tr
SET (o_t, g_v, br, s_t, st, c_d, n_r, n_a, cd_id)
= (a.o_t, a.g_v, a.br, a.s_t, a.st, a.c_d, a.n_r, a.n_a,
a.cd_id)
FROM tr a
RIGHT OUTER JOIN ht b
USING (date, name, ft)
WHERE a.ft IS NOT NULL
запрос возвращал успешно: 4134 строк пострадавших
Может кто-нибудь на наставит меня, что пошло неправильно и как это сделать.
У вас есть правое внешнее соединение на первом, левом внешнем соединении на втором. Это может иметь какое-то отношение к этому? –
исправил sql. Проблема заключается только в этом: – user1572215
. Более надежно просто вставлять код, который вы используете, в противном случае вы приглашаете все виды опечаток, которые выглядят как проблема, но не являются. –