您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

一条sql话语中有两个between and

2024/3/31 16:38:46发布11次查看
一条sql语句中有两个between and
想实现的功能:
按两个属性搜索,如图:
数据库设计如图:(数据库设计已定不能更改了)
这是category_value表
这是 buy_6表
我写的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
如果只按一个数据搜索没问题,两个属性就搜索不出数据
sql中v.oid=4指的是颜色属性id为4,v.oid=6指的是高度属性id为6
------解决思路----------------------
这不是 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
那么自然就不会有结果的
------解决思路----------------------
按你的意思,似乎应该是:
(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))
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product