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

怎么解决left join 被关联表不能带条件的有关问题

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

 

如何解决left join 被关联表不能带条件的问题
 在做sap的时候 需要从多表抓取数据,遇到如下问题 :
  从A (a1 a2 a3) 抓取数据 left join B(b1 b2 b3)  其中 a1字段要在 b1 b2这两个数据之间 
select a1 a2 a3 b1 b2 b3  from a left  b on a2 = b3   ( and a1>b1 and a1<b1) 后面的条件不能和b有关系了 怎么解决呢  
 
要是分两次查询 在循环中判断 a 可能有十来万条数据 b中可能也会上万  速度受不了 做完这个国庆才能放假啊   悲催啊  高手过来解救吧



--参考方法--

--后面的条件你指的什么,单按这个是可以的,为什么不可以
--不过有一点:b的条件不要放到where中,不然就失去左连接的意义了
select a1,a2,a3,b1,b2,b3 from a left join b on a2 = b3 and (a1>b1 and a1<b2);

--参考方法--
改成where不行吗?
select a1,a2,a3,b1,b2,b3 from a left join b on a2 = b3 where a1>b1 and a1<b2;

--参考方法--
你是sybase数据库么?oracle里面这样是可以的。
如果是sybase到sybase版块去问吧。
--参考方法--
select a.a1,a.a2,a.a3,b.b1,b.b2,b.b3 from a left join b on a.a2 = b.b3 where a.a1>b.b1 and a.a1<b.b2
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

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