我对使用其他表格创建表格有一点疑问。
我的代码:
create table TB_OLAP_TELEFONIA as
select ID AS LOG_ID,
HORAFIM AS LOG_HORA,
DURACAO AS LOG_DURA,
TO_CHAR( HORAFIM, 'D') AS LOG_DIA_SEMANA,
TO_NUMBER( SUBSTR( NUMEROA, 3, 1 ) ) AS LOG_NUMA_TIPO,
TO_NUMBER( SUBSTR( NUMEROA, 3, 1 ) ) AS LOG_NUMB_TIPO,
SUBSTR( NUMEROA, 1, 2) ) AS LOG_NUMA_ESTADO,
SUBSTR( NUMEROA, 1, 2) ) AS LOG_NUMB_ESTADO
from DADOS_COLUNA_OLAP
sintax是不正确的,我不记得在“as”位置使用什么用于为列提供正确的名称。
一些好的胶水? 谢谢!
答案 0 :(得分:3)
CTAS语法是正确的。你的问题是一个'cut'n'paste错误。替换
SUBSTR( NUMEROA, 1, 2) ) AS LOG_NUMA_ESTADO,
SUBSTR( NUMEROA, 1, 2) ) AS LOG_NUMB_ESTADO
带
SUBSTR( NUMEROA, 1, 2) AS LOG_NUMA_ESTADO,
SUBSTR( NUMEROA, 1, 2) AS LOG_NUMB_ESTADO
修改强>
虽然我正在使用它,但我应该指出,您正在将相同的列进行两次子串,但具有不同的别名。你的意思是这样做的吗?
SUBSTR( NUMEROA, 1, 2) AS LOG_NUMA_ESTADO,
SUBSTR( NUMEROB, 1, 2) AS LOG_NUMB_ESTADO
^
如果是这样,您需要在两个位置顶部修复列名称。
答案 1 :(得分:2)
太多了))
create table TB_OLAP_TELEFONIA as
select ID AS LOG_ID,
HORAFIM AS LOG_HORA,
DURACAO AS LOG_DURA,
TO_CHAR( HORAFIM, 'D') AS LOG_DIA_SEMANA,
TO_NUMBER( SUBSTR( NUMEROA, 3, 1 ) ) AS LOG_NUMA_TIPO,
TO_NUMBER( SUBSTR( NUMEROA, 3, 1 ) ) AS LOG_NUMB_TIPO,
SUBSTR( NUMEROA, 1, 2 ) AS LOG_NUMA_ESTADO,
SUBSTR( NUMEROA, 1, 2 ) AS LOG_NUMB_ESTADO
from DADOS_COLUNA_OLAP