mysql操作商品属性视图查询出商品所属分类下的属性信息,以及这些属性对应的属性值信息 1)创建视图sh_view_attr,根据商品分类id查找所有属性信息 2)创建视图sh_view_goods_attr,根据商品id查找所有属性信息 3)创建视图view_goods,以spu为单位统计商品库存量。
时间: 2024-02-18 07:02:02 浏览: 169
好的,我来为您解答。
1)创建视图sh_view_attr,根据商品分类id查找所有属性信息:
```
CREATE VIEW sh_view_attr AS
SELECT a.attr_id, a.attr_name, a.type_id, b.type_name
FROM sh_attr a
LEFT JOIN sh_attr_type b ON a.type_id = b.type_id
WHERE a.category_id = {category_id};
```
其中,sh_attr是属性表,sh_attr_type是属性类型表,category_id是商品分类id。
2)创建视图sh_view_goods_attr,根据商品id查找所有属性信息:
```
CREATE VIEW sh_view_goods_attr AS
SELECT a.goods_id, b.attr_id, b.attr_name, b.type_id, c.type_name, a.attr_value
FROM sh_goods_attr a
LEFT JOIN sh_attr b ON a.attr_id = b.attr_id
LEFT JOIN sh_attr_type c ON b.type_id = c.type_id
WHERE a.goods_id = {goods_id};
```
其中,sh_goods_attr是商品属性表,goods_id是商品id。
3)创建视图view_goods,以spu为单位统计商品库存量:
```
CREATE VIEW view_goods AS
SELECT a.spu_id, a.spu_name, SUM(a.stock) AS total_stock
FROM sh_goods_sku a
GROUP BY a.spu_id;
```
其中,sh_goods_sku是商品SKU表,spu_id是商品SPU id,spu_name是商品SPU名称,stock是商品库存量。
希望这些SQL语句对您有所帮助。
阅读全文