SQL语法或数据库限制?

Bit*_*lue 0 sql oracle join

我有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
Run Code Online (Sandbox Code Playgroud)

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

Dmi*_*rov 7

从表别名中排除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
Run Code Online (Sandbox Code Playgroud)

例:

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
Run Code Online (Sandbox Code Playgroud)

文档:

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