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

浏览:
字体:
发布时间:2013-12-10 00:12:06
来源:
报错内容:
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  
 
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
 
>更多相关文章
24小时热门资讯
24小时回复排行
资讯 | QQ | 安全 | 编程 | 数据库 | 系统 | 网络 | 考试 | 站长 | 关于东联 | 安全雇佣 | 搞笑视频大全 | 微信学院 | 视频课程 |
关于我们 | 联系我们 | 广告服务 | 免责申明 | 作品发布 | 网站地图 | 官方微博 | 技术培训
Copyright © 2007 - 2024 Vm888.Com. All Rights Reserved
粤公网安备 44060402001498号 粤ICP备19097316号 请遵循相关法律法规
');})();