我有一個MySQL表,其中有工資欄。我能夠使用以下列計算列的18%和9%的值:mysql將計算結果添加到表列
SELECT SALARY,SALARY * .09作爲'PS',SALARY * .12作爲'GS'FROM database.table;
如何根據sql語句的結果在此表上添加其他列?我的意思是我想添加專欄'PS'和'GS'到我的桌子。
如果這可能在同一張表上,我將如何根據sql語句(包含PS和GS的新表)通過sql腳本/語句創建另一個表。
我有一個MySQL表,其中有工資欄。我能夠使用以下列計算列的18%和9%的值:mysql將計算結果添加到表列
SELECT SALARY,SALARY * .09作爲'PS',SALARY * .12作爲'GS'FROM database.table;
如何根據sql語句的結果在此表上添加其他列?我的意思是我想添加專欄'PS'和'GS'到我的桌子。
如果這可能在同一張表上,我將如何根據sql語句(包含PS和GS的新表)通過sql腳本/語句創建另一個表。
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);
問題1更新表,您可以簡單地將兩個新字段添加到表格中(我不會在這裏介紹這一點,因爲有充足的關於如何添加字段的文檔)。然後運行以下查詢
UPDATE表SET PS = SALARY * .09,GS = SALARY * .12;
對於您可以根據像這樣的任何查詢的結果德創建表的第二個問題:
CREATE TABLE表名 SELECT * FROM orig_table;
請注意,您可以在此處使用任何種類的SELECT語句。
這東西真的很基本的SQL。這很容易在MySQL文檔中找到。
當我這樣做時:UPDATE表SET PS = SALARY * .09,GS = SALARY * .12;它不會添加爲我的桌子上的PS和GS列..它說錯誤代碼:1054.'字段列表'中的未知列'PS' – ix3 2012-07-25 16:10:38
@ ix3您必須先添加列。邁克在回答中告訴過你。在更新表格之前,請參閱上面關於如何添加列的回答。 – 2012-07-25 16:17:32
這正是我一直在尋找的..非常感謝! – ix3 2012-07-25 16:20:25