v.oid=4和v.oid=6这两个关系为与的话,当然不可能同时存在,改成或的关系

解决方案 »

  1.   

    这不是 between 的问题!
    在你的 sql 
    select b.* from category_value as v, buy_6 as b where status=3 and v.itemid = b.itemid and v.moduleid=6 and v.value BETWEEN 2 and 7 and v.oid=6 and v.value BETWEEN 1 and 10 and v.oid=4
    既然 v.oid 不可能同时等于 6 和 4
    那么自然就不会有结果的
      

  2.   

    嗯,理解,你看我这个问题的sql语句该怎么写呢,
      

  3.   

    按你的意思,似乎应该是:
    (v.value BETWEEN 2 and 7 and v.oid=6) or (v.value BETWEEN 1 and 10 and v.oid=4)
    所以sql语句应该为:
    select b.* from category_value as v, buy_6 as b where status=3 and v.itemid = b.itemid and v.moduleid=6 and ((v.value BETWEEN 2 and 7 and v.oid=6) or (v.value BETWEEN 1 and 10 and v.oid=4))