1

我有一个 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 的新表)创建另一个表。

4

3 回答 3

1

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);
于 2012-07-25T16:09:11.093 回答
0

如果您希望 GS 在同一个表中,您需要将您声明的 SQL 查询值带到一个变量中,并使用另一个 GS 查询更新表

于 2012-07-25T16:02:28.567 回答
0

对于问题 1,您可以简单地将两个新字段添加到表中(我不会在这里讨论,因为有大量关于如何添加字段的文档)。然后运行以下查询

更新表 SET PS = SALARY * .09,GS = SALARY * .12;

对于第二个问题,您可以根据任何查询的结果创建一个表,如下所示:

CREATE TABLE table_name SELECT * FROM orig_table;

请注意,您可以在此处使用任何类型的 SELECT 语句。

这些东西真的是非常基本的 SQL。这很容易在 MySQL 文档中找到。

于 2012-07-25T16:05:54.443 回答