mysql - 如何从 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;
我有错误
解决方案
正如我在评论中所说,假设您不想将手动创建的键列和总和值插入同一个表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;
然后再次这样做是没有意义的。
推荐阅读
- python - 移动窗口pyqt5后标签改变位置
- oracle - PL/SQL:在存储过程“with”子句中忽略 SQL 语句
- nginx - Kubernetes 中的 OIDC 反向代理 sidecar
- amazon-cognito - 使用 Cognito 忘记密码无法通过电子邮件接收任何代码
- python - 如何手动添加标签以有效地绘制或映射字典以显示在绘图上
- python - 如何在使用 tensorflow 时检测分布外的样本?
- android-studio - 对于android studio,如何处理imageinsufficientqualityexception
- php - 任何人都可以帮助使用 htaccess 重写 URL
- r - 在 R 中,如何将一个 tibble 中给出的参数传递给另一个 tibble 执行操作?
- c# - 如何在另一个项目中正确使用和引用 Entity Framework Core?