求一 sql 语句,谢谢。

bear63 2014-06-06 08:47:14
我把一个产品的多个价格存放在一个字段里面,例如一个 products 表里面的 price 字段 存放 60,75,100这样的字段

有多个产品数据

现在我需要搜索 价格在 80元以内的产品,头就大了。

搜索了 google 百度都没有找到答案,特来此求助。
...全文
296 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
傲雪星枫 2014-06-08
  • 打赏
  • 举报
回复
引用 6 楼 xuzuning 的回复:
使用正则是可行的,但需要注意到条件并不是固定的 那么正则规则串由谁来产生呢? 总不能手工去修改吧? [quote=引用 5 楼 fdipzone 的回复:] [quote=引用 楼主 bear63 的回复:] 我把一个产品的多个价格存放在一个字段里面,例如一个 products 表里面的 price 字段 存放 60,75,100这样的字段 有多个产品数据 现在我需要搜索 价格在 80元以内的产品,头就大了。 搜索了 google 百度都没有找到答案,特来此求助。
select * from product where concat(',',price,',') regexp '(,([1-7]{1}){0,1}[0-9]{1},)|,80,'; 这个本人测试过是可行的,楼主有测试过吗?[/quote][/quote] 是的,用正则不好。所以我先提出的方案是加一个表,不过看楼主应该是纠结在不改动数据表结构上。
xuzuning 2014-06-08
  • 打赏
  • 举报
回复
使用正则是可行的,但需要注意到条件并不是固定的 那么正则规则串由谁来产生呢? 总不能手工去修改吧?
引用 5 楼 fdipzone 的回复:
[quote=引用 楼主 bear63 的回复:] 我把一个产品的多个价格存放在一个字段里面,例如一个 products 表里面的 price 字段 存放 60,75,100这样的字段 有多个产品数据 现在我需要搜索 价格在 80元以内的产品,头就大了。 搜索了 google 百度都没有找到答案,特来此求助。
select * from product where concat(',',price,',') regexp '(,([1-7]{1}){0,1}[0-9]{1},)|,80,'; 这个本人测试过是可行的,楼主有测试过吗?[/quote]
傲雪星枫 2014-06-07
  • 打赏
  • 举报
回复
引用 楼主 bear63 的回复:
我把一个产品的多个价格存放在一个字段里面,例如一个 products 表里面的 price 字段 存放 60,75,100这样的字段 有多个产品数据 现在我需要搜索 价格在 80元以内的产品,头就大了。 搜索了 google 百度都没有找到答案,特来此求助。
select * from product where concat(',',price,',') regexp '(,([1-7]{1}){0,1}[0-9]{1},)|,80,'; 这个本人测试过是可行的,楼主有测试过吗?
傲雪星枫 2014-06-06
  • 打赏
  • 举报
回复
应该建立多一个产品价格表 product_price id product_id price 例如产品Ad的price是60,75,80 那么在product_price中就有三条记录 id product_id price 1 1 60 2 1 75 3 1 80 然后 select * from product where id in(select product_id from product_price where price<=80); 如果不改动数据表结构 select * from product where concat(',',price,',') regexp '(,([1-7]{1}){0,1}[0-9]{1},)|,80,';
卖水果的net 2014-06-06
  • 打赏
  • 举报
回复
这个纯属数据库的设计问题,给程序员制造麻烦,如果工作量不大就分开存吧。 实在不行的话,自定义一个函数吧。
码无边 2014-06-06
  • 打赏
  • 举报
回复
select * from t where price>=80
xuzuning 2014-06-06
  • 打赏
  • 举报
回复
给个思路: 建一个保存所有可能出现的价格的表 查询用 find_in_set 连接 select * from products, 价格表 where find_in_set(价格表.价格, products.price) and 价格表.价格<=80

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧