我有一个 mysql 表,其中包含工资列。我能够使用以下方法计算列 18% 和 9% 的值:
SELECT SALARY, SALARY * .09 as 'PS', SALARY * .12 as 'GS' FROM database.table;
如何根据 sql 语句的结果在该表上添加额外的列?我的意思是我想在我的表中添加列“PS”和“GS”。
如果这在同一个表上是可能的,我将如何通过 sql 脚本/语句根据 sql 语句的结果(包含 PS 和 GS 的新表)创建另一个表。
我有一个 mysql 表,其中包含工资列。我能够使用以下方法计算列 18% 和 9% 的值:
SELECT SALARY, SALARY * .09 as 'PS', SALARY * .12 as 'GS' FROM database.table;
如何根据 sql 语句的结果在该表上添加额外的列?我的意思是我想在我的表中添加列“PS”和“GS”。
如果这在同一个表上是可能的,我将如何通过 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);
如果您希望 GS 在同一个表中,您需要将您声明的 SQL 查询值带到一个变量中,并使用另一个 GS 查询更新表
对于问题 1,您可以简单地将两个新字段添加到表中(我不会在这里讨论,因为有大量关于如何添加字段的文档)。然后运行以下查询
更新表 SET PS = SALARY * .09,GS = SALARY * .12;
对于第二个问题,您可以根据任何查询的结果创建一个表,如下所示:
CREATE TABLE table_name SELECT * FROM orig_table;
请注意,您可以在此处使用任何类型的 SELECT 语句。
这些东西真的是非常基本的 SQL。这很容易在 MySQL 文档中找到。