通过属性搜索商品mysql设计

2019-10-24 01:14:29

商品detail表这里写图片描述
包含了商品的id,和扩展字段

商品属性表
这里写图片描述

属性是可以动态扩展的,问题:属性是搜索条件 问:请展示出 材质为塑料 防水为YES,颜色为绿色的商品详细信息,按照sort_filed排序

sql编写:

SELECT
    gd.goods_id,
    gd.sort_filed 
FROM
    (
SELECT
    goods_id 
FROM
    `goods_attr` 
WHERE
    ( attr_name = '材质' AND attr_value = '塑料' ) 
    OR ( attr_name = '颜色' AND attr_value = '绿色' ) 
    OR ( attr_name = '防水' AND attr_value = 'YES' ) 
GROUP BY
    goods_id 
HAVING
    COUNT( goods_id ) = 3 
    ) attr
    LEFT JOIN goods_detail gd ON attr.goods_id = gd.goods_id 
ORDER BY
    gd.sort_filed

继续优化将attr_name 和attr_value设置索引

  • 2020-05-07 13:05:28

    JavaScript中批量设置Css样式

    setAttribute() 方法添加指定的属性,并为其赋指定的值。 如果这个指定的属性已存在,则仅设置/更改值

  • 2020-05-07 13:07:21

    scrollBox 跑马灯滚动js

    ​这个插件可以很好的实现跑马灯,以及轮播图等效果,scrollBox js

  • 2020-05-07 13:21:25

    JS中获取 DOM 元素的绝对位置实例详解

    在操作页面滚动和动画时经常会获取 DOM 元素的绝对位置,例如 本文 左侧的悬浮导航,当页面滚动到它以前会正常地渲染到文档流中,当页面滚动超过了它的位置,就会始终悬浮在左侧。

  • 2020-05-07 13:42:13

    场景切换的集合移动,旋转,淡入淡出等

    两个场景(即两个div视图)切换的时候,如果想添加个过渡动画,除了可以使用js来实现,还可以通过CSS3的animation属性来实现。 (注意:Internet Explorer 9 以及更早的版本不支持 animation 属性。)