我有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 ..."后发生同样的错误.
从表别名中排除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