Insert повторяющихся значений из одной таблицы в другую
Есть 2 таблицы. В ТАБЛИЦА_1 есть колонка_1_1 и колонка_1_2. колонка_1_2 пустая. В ТАБЛИЦА_2 есть колонка_2_1 и колонка_2_2. колонка_2_2 содержит нужные значения, но иногда там могут быть null.
значения в колонка_1_1 и колонка_2_1 иногда одинаковы и для этих случаев нужно заполнить колонка_1_2 данными из колонка_2_2.
Я делаю вот так
BEGIN
FOR data IN (SELECT колонка_2_1 FROM ТАБЛИЦА_2 WHERE колонка_2_2 IS NOT NULL)
LOOP
INSERT INTO ТАБЛИЦА_1
VALUES (,.другие поля.,
(SELECT колонка_2_2
FROM ТАБЛИЦА_2
WHERE ТАБЛИЦА_1.колонка_1_1 = data.колонка_2_1),
);
END LOOP;
END;
мне выбрасывает single-row subquery returns more than one row
Ответы (1 шт):
Автор решения: Akina
→ Ссылка
UPDATE table_1
SET field_1_2 = ( SELECT table_2.field_2_2
FROM table_2
WHERE table_1.field_1_1 = table_2.field_2_1 )
WHERE field_1_2 IS NULL