@IvanSerachev

Как добавить данные в столбец из другой таблицы в SQL?

Есть две таблицы - ТаблицаА и ТаблицаБ. В каждой из них есть столбец - Код товара.
Я создал новый пустой столбец Название в таблице ТаблицаА . Как его заполнить данными из таблицы Б, используя Код товара, как основу для метчинга? Я пробовал создавать комбинированный запрос. в двух вариантах и оба варианта затирают данные всех столбцов, кроме того, который заполняется в ТаблицеА, не смотря на EXCEPT или явное указание столбца.
Что я делаю не так? Есть ли еще варианты? Спасибо
1.
INSERT INTO ТаблицаА (* EXCEPT(код товара, количество)) SELECT
Название FROM ТаблицаА
LEFT OUTER JOIN ТаблицаБ
ON ТаблицаА.Код товара=ТаблицаБ.Код товара

2.
INSERT INTO ТаблицаА (Название ) SELECT
Название FROM ТаблицаА
LEFT OUTER JOIN ТаблицаБ
ON ТаблицаА.Код товара=ТаблицаБ.Код товара
  • Вопрос задан
  • 2586 просмотров
Решения вопроса 1
@alexanderzanin
CREATE TABLE product_a
(
    id SMALLINT AUTO_INCREMENT,
    name_a VARCHAR(10),
    code_a INTEGER,
    PRIMARY KEY (id)
);

CREATE TABLE product_b
(
    id SMALLINT AUTO_INCREMENT,
    name_b VARCHAR(10),
    code_b INTEGER,
    PRIMARY KEY (id)
);

INSERT INTO product_b VALUES (null, 'prod_b_3', 300);

ALTER TABLE product_a ADD name_b VARCHAR(10);


UPDATE product_a AS pa
SET pa.name_b = (SELECT pb.name_b FROM product_b AS pb WHERE pb.code_b = pa.code_a);
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы