如何在sql中创建一个派生属性列,它是其他两个现有列的总和
Posted
技术标签:
【中文标题】如何在sql中创建一个派生属性列,它是其他两个现有列的总和【英文标题】:How to create a derived attribute column in sql which is sum of other two existing columns 【发布时间】:2021-11-14 17:05:12 【问题描述】:CREATE TABLE Software
(
name varchar(8) not null,
title varchar(20) not null,
dev_in varchar(8) not null,
scost decimal(7,2),
dcost integer(5),
sold integer(3)
);
我想要一个列 sell_price,它是 scost 和 dcost 的总和。
【问题讨论】:
【参考方案1】:您可以使用 mysql 生成的列。 Reference Doc
-- when creating table
create table software (
name varchar(8) not null,
title varchar(20) not null,
dev_in varchar(8) not null,
scost decimal(7,2),
dcost integer(5),
sold integer(3),
selling_price decimal(7,2) as (dcost + scost)
);
-- or for an existing table
alter table software add column selling_price decimal(7,2) as (dcost + scost);
mysql> insert into software (name, title, dev_in, scost, dcost, sold)
-> values("s", "s", "ss", 100.1, 2, 3);
mysql> select * from software;
+------+-------+--------+--------+-------+------+---------------+
| name | title | dev_in | scost | dcost | sold | selling_price |
+------+-------+--------+--------+-------+------+---------------+
| s | s | ss | 100.10 | 2 | 3 | 102.10 |
+------+-------+--------+--------+-------+------+---------------+
1 row in set (0.00 sec)
【讨论】:
以上是关于如何在sql中创建一个派生属性列,它是其他两个现有列的总和的主要内容,如果未能解决你的问题,请参考以下文章
通过在两个现有列上使用 lambda 函数在 Panda 中创建一个新列
如何在 C++ 中从现有 2D 向量中创建具有特定列的新向量