sql - 我想将查询存储到新表中;怎么做?
问题描述
SQL> CREATE TABLE temp1
2 AS
3 SELECT deptno,
4 job,
5 SUM (sal),
6 CASE GROUPING_ID (deptno, job)
7 WHEN 1 THEN 'dept_totalsal'
8 WHEN 2 THEN 'job_totalsal'
9 WHEN 3 THEN 'grandtotal'
10 END
11 AS subtotal
12 FROM emp e
13 GROUP BY CUBE (deptno, job)
14 ORDER BY deptno ASC;
SUM (sal),
*
ERROR at line 5:
ORA-00998: must name this expression with a column alias
SQL>
解决方案
您尚未指定列别名,SUM(SAL)
但新表中的列需要名称。尝试给该表达式一个别名,例如SUM_SAL
。
CREATE TABLE TEMP1
AS
SELECT DEPTNO,
JOB,
SUM(SAL) SUM_SAL,
CASE GROUPING_ID(DEPTNO,
JOB)
WHEN 1 THEN
'dept_totalsal'
WHEN 2 THEN
'job_totalsal'
WHEN 3 THEN
'grandtotal'
END SUBTOTAL
FROM EMP E
GROUP BY CUBE(DEPTNO,
JOB)
ORDER BY DEPTNO ASC;
推荐阅读
- javascript - 如何在某些异步数据(在 Vuex 存储中)加载之前防止任何路由?
- c - UVa 1225“数字计数”的 C“运行时错误”
- javascript - 后期“手动”将元素升级为定制的内置 Web 组件
- excel - 使用VBA检索特定列中同一行中单元格的值
- node.js - Typescript 和 Jest:避免模拟函数上的类型错误
- python - 以正确的格式获取文本以用于 spacy
- sql-server - 如何衡量 Azure SQL DB 的性能?
- android - ViewRenderable not working ARCore
- javascript - 如何识别已标记为 Redact 的 PDF 中的原始单词?
- css - 不同数量的 div 布局