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 については、テーブルに 2 つの新しいフィールドを追加するだけです (フィールドの追加方法に関する十分なドキュメントがあるため、ここでは説明しません)。次に、次のクエリを実行します

UPDATE テーブル SET PS = 給与 * .09、GS = 給与 * .12;

2 番目の質問では、次のようなクエリの結果に基づいてテーブルを作成できます。

CREATE TABLE table_name SELECT * FROM orig_table;

ここでは、あらゆる種類の SELECT ステートメントを使用できることに注意してください。

これは非常に基本的な SQL です。これは、MySQL のドキュメントで簡単に見つけることができます。

于 2012-07-25T16:05:54.443 に答える