SQL语法或数据库限制?

 无极圈晨曦 发布于 2023-01-19 13:50

我有2个表,每个表都有一列MNR.我想和他们一起加入这个专栏.

以下两个SQL语句失败.最后一个显示我的日期格式正在运行(更改了会话格式).DB是Oracle.

有人可以告诉我我做错了什么吗?我怎么称呼这个加入?

// fails
select a.CREATEDATE, a.BELEGNRRECH, a.MNR, a.UTNR, a.KTXT, b.ANR
from INFOR.RELFBR as a, INFOR.RELXDB as b
where (a.SAINT = '90') and (a.MNR = b.MNR) and (b.SAINT = '10')
     and (a.CREATEDATE >= '01.01.2014 00:00:00')
order by a.CREATEDATE

// fails as well
select a.CREATEDATE, a.BELEGNRRECH, a.MNR, a.UTNR, a.KTXT, b.ANR
from INFOR.RELFBR as a, INFOR.RELXDB as b
where (a.SAINT = '90') and (a.MNR = b.MNR) and (b.SAINT = '10')
order by a.CREATEDATE

// all fine
select CREATEDATE, MNR
from INFOR.RELFBR
where (CREATEDATE >= '01.01.2014 00:00:00')
order by CREATEDATE

失败错误是ORA-00933: SQL command not properly ended
在删除"order by ..."后发生同样的错误.

1 个回答
  • 从表别名中排除AS - AS可以与选择列表一起使用,但不能在FROM子句中使用

    select a.CREATEDATE, a.BELEGNRRECH, a.MNR, a.UTNR, a.KTXT, b.ANR
    from INFOR.RELFBR a, INFOR.RELXDB b
    where (a.SAINT = '90') and (a.MNR = b.MNR) and (b.SAINT = '10')
         and (a.CREATEDATE >= '01.01.2014 00:00:00')
    order by a.CREATEDATE
    

    例:

    SQL> select * from t_dummy t;
    
                          X                                                         
    -----------------------                                                         
                     9.0000                                                         
    
    SQL> select * from t_dummy as t;
    select * from t_dummy as t
                          *
    error in line 1:
    ORA-00933: SQL command not properly ended
    

    文档:

    http://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_10002.htm#i2126863

    2023-01-19 13:53 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有