如何在 oracle 11g 中从 SELECT 语句创建表

dwa*_*wan 4 oracle oracle11g

我想从另一个表中创建表,我在下面的代码中尝试过

CREATE TABLE AS tbl_01
As
SELECT a.col1 c1, a.col2 c2, MAX(a.col3 c3)
FROM tbl a
WHERE flag= 2
GROUP BY col1, col2
Run Code Online (Sandbox Code Playgroud)

此查询运行,但是当我要在数据表资源管理器中扩展列时,它给出了错误 Conversion from type DBNULL to type Integer is not valid

Uts*_*sav 8

将别名放在 max 函数中的大括号外并尝试。你也用了as两次。更正了这一点。

CREATE TABLE tbl_01
As
SELECT a.col1 c1, a.col2 c2, MAX(a.col3) c3
FROM tbl a
WHERE flag= 2
GROUP BY col1, col2
Run Code Online (Sandbox Code Playgroud)