У меня есть такая структура данных:
request
=======
building_id
lot_code
building
========
building_id
lot_id
lot
===
lot_id
lot_code
В таблице request
отсутствует значение для столбца building_id
, и я хочу заполнить его из других таблиц. Итак, я попробовал это:
UPDATE request
SET building_id = (
SELECT bu.building_id
FROM building bu
INNER JOIN lot lo ON bu.lot_id=lo.lot_id
WHERE lo.lot_code = request.lot_code
);
Но я получаю эту ошибку:
Подзапрос вернул более 1 значения.
Это не разрешено, когда
подзапрос следует =,! =, <, <=,>,> =
или когда подзапрос используется как
выражение.
Это из-за неправильного синтаксиса? Модель данных допускает более одного здания на участок, но фактические данные не содержат таких случаев, поэтому должно быть не более одного building_id
на lot_code
.