这里有两个表,第一个表是表a,第二个表是表b,他们两个有个共同的列是id。
现在表b里面有一个lft和一个rgt,我想在表a里面找到符合
lft>=b.lft and rgt<=b.rgt
这个条件的条目,比如表b中lft为37,rgt为40的条目,我想在表a中找出
lft为37,rgt为38
lft为39,rgt为40的两条条目
有这样的写法吗?应该如何用一条语句写出来呢?
我想用a表和b表连起来,但是这样也做不到。想了很久,希望大家不吝赐教!
这里有两个表,第一个表是表a,第二个表是表b,他们两个有个共同的列是id。
现在表b里面有一个lft和一个rgt,我想在表a里面找到符合
lft>=b.lft and rgt<=b.rgt
这个条件的条目,比如表b中lft为37,rgt为40的条目,我想在表a中找出
lft为37,rgt为38
lft为39,rgt为40的两条条目
有这样的写法吗?应该如何用一条语句写出来呢?
我想用a表和b表连起来,但是这样也做不到。想了很久,希望大家不吝赐教!
select * from a left join b on a.id=b.id where a.lft>=b.ift and a.rgt>=b.rgt