如何从 sql 语句添加新列?
How can i add new column from sql statement?
我想让我的 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;
我出错了
正如我在评论中所说,假设您不想将手动创建的键列和求和值插入同一个 table 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;
编辑:您应该创建一个新的 table 并以其 orders_1_example
命名并包含两列(key、sum),然后像这样插入它。如果在 table 中没有名为 'key' 的列,则您无法插入它。如果你想插入 orders_1
table 那么你应该改变你的 table 以添加一个新列然后用这种方式插入。
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;
那么再做一次也是没有意义的。
我想让我的 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;
我出错了
正如我在评论中所说,假设您不想将手动创建的键列和求和值插入同一个 table 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;
编辑:您应该创建一个新的 table 并以其 orders_1_example
命名并包含两列(key、sum),然后像这样插入它。如果在 table 中没有名为 'key' 的列,则您无法插入它。如果你想插入 orders_1
table 那么你应该改变你的 table 以添加一个新列然后用这种方式插入。
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;
那么再做一次也是没有意义的。