首页 > 解决方案 > 如何从 sql 语句中添加新列?

问题描述

我想由此产生我的 sql 结果:

      |    Sum    |
      -------------
      | 2343554665|
      |    4545786|

变成这样:

    Key     |    Sum    |
--------------------------
flash disk  | 2343554665|
mouse       |    4545786|
 

我想在 Key 列中手动编写...因为没有 Key 的名称。

这是我的代码

INSERT Key into orders_1 values 'Flash disk'
SELECT SUM(quantity)as sum FROM orders_1
UNION ALL
INSERT Key into orders_1 values 'mouse'
SELECT SUM(quantity*priceEach) FROM orders_1;

我有错误

标签: mysqlsqlinsertunion

解决方案


正如我在评论中所说,假设您不想将手动创建的键列和总和值插入同一个表orders_1;您应该首先考虑 union all 然后插入结果。

INSERT into orders_1_example --assuming this is not the table you want to insert your new values so i changed its name
SELECT 'Flash disk',SUM(quantity)as sum FROM orders_1
UNION ALL
SELECT 'mouse', SUM(quantity*priceEach) FROM orders_1;

编辑:您应该使用两列(键,总和)创建一个以它命名的新表orders_1_example,然后像这样插入它。如果游览表中没有名为“key”的列,则不能插入它。如果要插入orders_1表格,则应更改表格以添加新列,然后以这种方式插入。

ALTER TABLE ORDERS_1 ADD COLUMN KEY VARCHAR2(50);

INSERT into orders_1 (KEY,SUM)
SELECT 'Flash disk',SUM(quantity)as sum FROM orders_1
UNION ALL
SELECT 'mouse', SUM(quantity*priceEach) FROM orders_1;

然后再次这样做是没有意义的。


推荐阅读