資料庫設計(資料庫設計已定不能更改了)
這是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))