a.lrrq between to_date((b.ksrq),'YYYY-MM-DD') and to_date((b.jsrq),'YYYY-MM-DD')
在线等
我的想法是这样的
比如B表的ksrq和jsrq的时间段是2012-04-01至2012-04-30
那么就把A表存在于B表的时间段内的数据都查出来。
那就试试这个
select a.* from a,b
where (a.lrrq in (select ksrq from b ))
or (a.lrrq in (select jsrq from b ))
行是行,但是速度太慢。这个语句只有时间段做条件,就没有其他的条件,所以很慢。
想要一个更好的解决方法。。
解决了,我直接是select * from a,b where a.lrrq>=b.ksrj and a.lrrq<=b.jsrq
因为这三个字段都是date类型,不用转来转去。