mysql将计算结果添加到表列

标签 mysql

我有一个 mysql 表,其中包含工资列。我能够通过使用计算列 18% 和 9% 的值:

SELECT SALARY, SALARY * .09 as 'PS', SALARY * .12 as 'GS' FROM database.table;

  1. 如何根据 sql 语句的结果在此表上添加一个额外的列?我的意思是我想在我的表中添加“PS”和“GS”列。

  2. 如果这在同一张表上是可能的,我将如何通过 sql 脚本/语句基于 sql 语句(包含 PS 和 GS 的新表)的结果创建另一个表。

最佳答案

1) 为了向表中添加额外的列,您必须使用 alter 命令。

ALTER TABLE database.table ADD PS varchar(10); ---- or whatever type of column
ALTER TABLE database.table ADD GS varchar(10); ---- or whatever type of column
UPDATE database.table SET PS = SALARY * .09, GS = SALARY * .12;

2) 您必须先创建表,然后将您之前的查询插入其中。

CREATE TABLE database.secondtable (PS varchar(10), GS varchar(10));
INSERT INTO database.secondtable (PS,GS) VALUES(SELECT SALARY, SALARY * .09 as 'PS', SALARY * .12 as 'GS' FROM database.table);

关于mysql将计算结果添加到表列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11653843/

相关文章:

mysql - 使用 express-mysql-session 验证

mysql - 如何将每天的 unix 时间分组?

php - 从 MYSQL 表和 Echo 内容中检索行 - PHP

mysql 连接 3 个表并计数 2

java - JPA @Version 字段不会增加

mysql - Rails 连接表问题

mysql - NULL在mysql中默认为空字符串?

mysql - PHPMyAdmin 崩溃?

MySQL 从自定义 (|) 分隔的字符串中获取不同的值

php - mysql 列的最大长度并确保我不会使用 utf8_unicode_ci - PHP 超过该限制?