【发布时间】:2017-04-19 19:26:03
【问题描述】:
我试图了解无效标识符错误在我的 SQL 代码中发生的位置。输出状态为“命令行错误:9 列:10”,位于“join”函数下的“on”函数之后。任何帮助将不胜感激。
这是我的代码:
select
TO_CHAR(TRUNC("SITE_UPLOAD_DATA_UPLOAD_TIME", 'MM'), 'MON') as month,
cast (avg("DATA_POINT_UPLOAD_DATA"."value") as int) as "PAST_VALUE"
from
"TEST"."DATA_POINT_UPLOAD_DATA",
"TEST"."COMPONENT_UPLOAD_DATA"
join
"TEST"."COMPONENT_DATA_POINT"
on "DATA_POINT_UPLOAD_DATA"."COMPONENT_DATA_POINT_ID" = "COMPONENT_DATA_POINT"."ID"
where
"COMPONENT_DATA_POINT"."NAME" = 'ready_go'
and "COMPONENT_UPLOAD_DATA"."SITE_UPLOAD_DATA_SITE_ID" = ('abc123')
and "SITE_UPLOAD_DATA_UPLOAD_TIME" between TRUNC (ADD_MONTHS ('01-MAR-17', - 13), 'MM') and TRUNC (LAST_DAY (ADD_MONTHS ('31-MAR-17', - 1)) + 1)
group by
TRUNC("SITE_UPLOAD_DATA_UPLOAD_TIME", 'MM'),
"COMPONENT_UPLOAD_DATA"."SITE_UPLOAD_DATA_SITE_ID"
order by
TRUNC("SITE_UPLOAD_DATA_UPLOAD_TIME", 'MM') desc;
【问题讨论】:
-
从不在
FROM子句中使用逗号。 始终使用明确的正确JOIN语法。这就是你问题的根源。 -
我在 Oracle BI Publisher 中执行此操作是否重要?我知道 Oracle BI Publisher 有一个愚蠢的 SQL 语法。
标签: sql oracle11g oracle-sqldeveloper