ORA-00933: SQL command not properly ended 为何会报错误,求大神解答

小庆宝宝 2016-06-17 02:25:04
SELECT
to_char( (s1.in_process_time -TO_DSINTERVAL( '0 8:00:00' ) ),'YYYY-MM-DD') as "测试日期",
(k1.PM - k2.PM) as "功率差"
FROM SAJET.G_SN_RULE_STATUS s1
SAJET.G_SN_RULE_STATUS k0
(select s1.serial_number,s1.PM FROM s1 LEFT JOIN k0 ON k0.serial_number = s1.serial_number AND s1.PROCESS_ID = k0.process_id
AND s1.in_process_time < K0.IN_PROCESS_TIME where s1.PROCESS_ID=100028) k1
LEFT JOIN (select s1.serial_number,s1.PM FROM s1 LEFT JOIN k0 ON k0.serial_number = s1.serial_number AND s1.PROCESS_ID = k0.process_id
AND s1.in_process_time < K0.IN_PROCESS_TIME where s1.PROCESS_ID=100018) k2
ON k1.serial_number = k2.serial_number
WHERE
K0.SERIAL_NUMBER IS NULL
AND to_char(s1.in_process_time -TO_DSINTERVAL( '0 8:00:00' ) ,'YYYY-MM-DD')>=to_char( current_date-TO_DSINTERVAL( '31 00:00:00'),'YYYY-MM-DD')
AND to_date(s1.in_process_time -TO_DSINTERVAL( '0 8:00:00' ) ,'YYYY-MM-DD')!=to_date( current_date,'YYYY-MM-DD')

group by to_char( (s1.in_process_time -TO_DSINTERVAL( '0 8:00:00' ) ),'YYYY-MM-DD')
order by to_char( (s1.in_process_time -TO_DSINTERVAL( '0 8:00:00' ) ),'YYYY-MM-DD')
...全文
3943 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
小庆宝宝 2016-07-04
  • 打赏
  • 举报
回复
引用 3 楼 u011912388 的回复:
[quote=引用 1 楼 wmxcn2000 的回复:] to_char( (s1.in_process_time -TO_DSINTERVAL( '0 8:00:00' ) ),'YYYY-MM-DD') as "测试日期", (k1.PM - k2.PM) as "功率差" FROM SAJET.G_SN_RULE_STATUS s1 SAJET.G_SN_RULE_STATUS k0 k0 后,少写了一个逗号; PS:建议你整理一下格式,看着太费劲
这里需要逗号么,加了逗号一样的错误啊[/quote] 感谢,新手回去看了看,目前已经能运行,但是因为用户临时表空间限制,查不出数据
ghx287524027 2016-06-17
  • 打赏
  • 举报
回复
s0 和 k0之间,k0 和 k1之间都缺少逗号。加完逗号之后再看其他的
卖水果的net 2016-06-17
  • 打赏
  • 举报
回复
引用 3 楼 u011912388 的回复:
[quote=引用 1 楼 wmxcn2000 的回复:] to_char( (s1.in_process_time -TO_DSINTERVAL( '0 8:00:00' ) ),'YYYY-MM-DD') as "测试日期", (k1.PM - k2.PM) as "功率差" FROM SAJET.G_SN_RULE_STATUS s1 SAJET.G_SN_RULE_STATUS k0 k0 后,少写了一个逗号; PS:建议你整理一下格式,看着太费劲
这里需要逗号么,加了逗号一样的错误啊[/quote] 1.建议你看看基础语法。 2.建议你整理一下格式。
小庆宝宝 2016-06-17
  • 打赏
  • 举报
回复
引用 1 楼 wmxcn2000 的回复:
to_char( (s1.in_process_time -TO_DSINTERVAL( '0 8:00:00' ) ),'YYYY-MM-DD') as "测试日期", (k1.PM - k2.PM) as "功率差" FROM SAJET.G_SN_RULE_STATUS s1 SAJET.G_SN_RULE_STATUS k0 k0 后,少写了一个逗号; PS:建议你整理一下格式,看着太费劲
这里需要逗号么,加了逗号一样的错误啊
js14982 2016-06-17
  • 打赏
  • 举报
回复
一团糟。。。 1,s1和k0表没有连接(没有join也没有逗号)。, 2,这儿不能用group by吧
卖水果的net 2016-06-17
  • 打赏
  • 举报
回复
to_char( (s1.in_process_time -TO_DSINTERVAL( '0 8:00:00' ) ),'YYYY-MM-DD') as "测试日期", (k1.PM - k2.PM) as "功率差" FROM SAJET.G_SN_RULE_STATUS s1 SAJET.G_SN_RULE_STATUS k0 k0 后,少写了一个逗号; PS:建议你整理一下格式,看着太费劲

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧