我能否在表A中创建一个生成列,将表B中与表A行的tableA_id相关的列求和?
假设我有一个家庭表和一个儿童表,我想为每个家庭计算孩子的年龄总和。
ALTER TABLE people.families
ADD COLUMN sumofages DECIMAL(10,2) GENERATED ALWAYS AS
(SELECT SUM(age) FROM people.children WHERE family_id = people.families.id) STORED;
ERROR 3102: Expression of generated column 'sumofages' contains a disallowed function.
我也不能将它保存为VIRTUAL类型。我在这里做错了什么?
ALTER TABLE people.families
ADD COLUMN sumofages DECIMAL(10,2) GENERATED ALWAYS AS
(SELECT SUM(age) FROM people.children WHERE family_id = people.families.id) VIRTUAL;
ERROR 3102: Expression of generated column 'sumofages' contains a disallowed function.
我不知道哪个函数被禁止了。SUM看起来好像不是。也许是SELECT?