如何从sql语句添加新列?

时间:2020-07-11 13:36:17

标签: mysql sql insert union

我想从中制作我的sql结果:

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

变成这样:

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

我想在“键...”列中手动编写,因为没有键的名称。

这是我的代码

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;

我出错了

1 个答案:

答案 0 :(得分:1)

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

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命名的新表,该表具有两列(键,总和),然后像这样插入它。如果coource的游览表中没有名为“ 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;

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

相关问题