欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

sybase有多个left join 跟多个union会报错

更新时间: 2014-01-05 02:20:56 责任编辑: Author_N1

 

sybase有多个left join 和多个union会报错

报错内容:

Adaptive Server cannot perform the requested action because column

'organId' is not within the scope of the joined table expression.Check

your command for missing or incorrect database objects,variable names,

and/or input data.


select ...

from

t1

left join

t2

on t1=t2

left join

(

select ... from t3

union all

select ... from t4

)t5

on t1=t5

这样写会报错。

原因 :Hi, it was a limatation of Sybase in the end when using ANSI sql or at least thats what the DBA's told me. A derived table is seen as an inline view in the SQL BO generates, Sybase can handle that but if the inline view contains a union (so your derived table has a union) and there are 3 or more other tables joined with the SQL it throws this error, works fine if only two tables, or if you break the union up into two derived tables. In the end I created the view on the db. I find Sybase frustrating no decode no MINUS commands icon_neutral.gif 

Thanks

(出自:http://www.forumtopics.com/busobj/viewtopic.php?p=442226)

解决方法:t1和t2联合,t1和t5联合,t5是一个union这样会报错。把t1和t2先联合之后在于t5联合

select t1.* from

(select ...

from

t1

left join

t2

on ...

) t6

left join

(

select ... from t3

union all

select ... from t4

)t5

on t6=t5


上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:20:56
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/8697/
本文WWW.DOC100.NET DOC100.NET版权所有。