创建视图view_goods视图,以spu为单位统计商品库存量。
时间: 2024-02-11 13:05:29 浏览: 125
好的,以下是创建 `view_goods` 视图的 SQL 语句,可以以 spu 为单位统计商品库存量:
```
CREATE VIEW view_goods AS
SELECT spu, SUM(stock) AS total_stock
FROM goods
GROUP BY spu;
```
这个视图会从 `goods` 表中获取每个 spu 的库存量并按照 spu 进行统计。你可以在需要查看库存量时直接查询这个视图来获取结果。
相关问题
根据商品属性表(sh_goods_attr)与商品属性值表(sh_goods_attr_value),完成视图的创建。 1、创建视图sh_view_attr,该视图能根据商品分类id查找所有属性信息。 2、创建视图sh_view_gods_attr,该视图能根据商品id查找所有属性信息。 3、创建视图view_goods视图,以spu为单位统计商品库存量。
好的,以下是答案:
1、创建视图 sh_view_attr 的 SQL 语句如下:
```sql
CREATE VIEW sh_view_attr AS
SELECT a.*, GROUP_CONCAT(b.value) AS values
FROM shop.sh_goods_attr AS a
LEFT JOIN shop.sh_goods_attr_value AS b ON a.id = b.attr_id
GROUP BY a.id
```
这个视图能根据商品分类 id 查找所有属性信息,并且将相同属性 id 的属性值合并为一个字段 values。
2、创建视图 sh_view_goods_attr 的 SQL 语句如下:
```sql
CREATE VIEW sh_view_goods_attr AS
SELECT a.*, b.value
FROM shop.sh_goods_attr AS a
LEFT JOIN shop.sh_goods_attr_value AS b ON a.id = b.attr_id
```
这个视图能根据商品 id 查找所有属性信息,并且将每个属性值都单独列出来。
3、创建视图 view_goods 的 SQL 语句如下:
```sql
CREATE VIEW view_goods AS
SELECT spu, SUM(inventory) AS total_inventory
FROM shop.sh_goods
GROUP BY spu
```
这个视图以 spu 为单位统计商品库存量,将相同 spu 的商品库存量汇总为一个字段 total_inventory。
mysql操作商品属性视图查询出商品所属分类下的属性信息,以及这些属性对应的属性值信息 1)创建视图sh_view_attr,根据商品分类id查找所有属性信息 2)创建视图sh_view_goods_attr,根据商品id查找所有属性信息 3)创建视图view_goods,以spu为单位统计商品库存量。
好的,我来为您解答。
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语句对您有所帮助。
阅读全文