SQL - Создать столбец из суммы столбцов из другой таблицы - PullRequest
0 голосов
/ 16 марта 2020

У меня есть две таблицы: первая содержит цифровые значения, выглядит так:

Столбец id является первичным ключом ; имеет атрибут AUTO_INCREMENT. Все столбцы имеют тип данных INT.

Теперь мой вопрос: можно ли создать таблицу, подобную следующей:

create table testsumtable
(
    id int primary key auto_increment,
    sumColumn int generated always as (sum(SELECT intone, inttwo, intthree FROM valuestable WHERE id=new.id))
);

1 Ответ

1 голос
/ 16 марта 2020

Вы просто хотите создать сгенерированный столбец, содержащий сумму трех других столбцов?

Если это так, вы должны добавить его непосредственно к исходной таблице:

alter table mytable
add column sumColumn as (intone + inttwo + intthree)

Если вы не хотите (или не можете) изменить исходную таблицу, я бы предложил создать вместо просмотра:

create view myview as
select id, intone, inttwo, intthree, intone + inttwo + intthree sumColumn from mytable
...