У меня есть две таблицы:
table1
имеет имя столбца a,b
и c
.
table2
имеет имя столбца d
и e
.
Мне нужно установить table1.a
со значением table1.b
, только если table1.c=table2.d
и table2.e='true'
(это логическое значение).
Я написал следующее:
UPDATE table1 SET a=(
SELECT t1.b
FROM table1 t1
INNER JOIN table2 t2
ON t1.c = t2.d
WHERE t2.e = 'true');
и, конечно же, получил:
ОШИБКА: более одной строки, возвращенной подзапросом, использованным как выражение
********** Ошибка ***** *****
ОШИБКА: более одной строки, возвращенной подзапросом, используемым в качестве выражения SQL состояние: 21000
Как мне изменить это, чтобы оно работало?