12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- -- Active: xiaoding_test@@192.168.110.85@3306@xiaoding_test
- /*
- 您是一位专业的dba,同时会业务分析。请参考以上数据库的设计文档,给我写一个sql,关联查询出:
- 项目名称、项目分类、项目价格、项目时长、项目分成、区域管理、下单数量、状态、图片、开启/关闭
- */
- DROP TABLE IF EXISTS report_shop_list;
- CREATE TABLE report_shop_list AS
- /* 店铺列表视图 */
- DROP VIEW IF EXISTS manage_shop_list;
- CREATE OR REPLACE VIEW manage_shop_list AS
- WITH
- /* 店铺技师数量统计 */
- coach_count AS (
- SELECT cu.shop_id, COUNT(DISTINCT cu.id) /* 技师总数 */ AS coach_total
- FROM coach_users cu
- WHERE
- cu.deleted_at IS NULL
- GROUP BY
- cu.shop_id
- ),
- /* 店铺服务项目数量统计 */
- service_count AS (
- SELECT ss.shop_id, COUNT(DISTINCT ss.id) /* 服务项目总数 */ AS service_total
- FROM shop_services ss
- WHERE
- ss.deleted_at IS NULL
- GROUP BY
- ss.shop_id
- )
- SELECT
- si.id as shop_id /* 店铺编号 */,
- sar.shop_name as shop_name /* 店铺名称 */,
- sar.contact_name as contact_name /* 店铺负责人 */,
- sar.contact_phone as contact_phone /* 店铺电话 */,
- sar.shop_address as shop_address /* 店铺位置 */,
- sar.longitude as longitude /* 经度 */,
- sar.latitude as latitude /* 纬度 */,
- sar.operating_area as operating_area /* 面积 */,
- sar.business_hours as business_hours /* 营业时间 */,
- sar.rating as rating /* 店铺星级 */,
- sar.storefront_photo as storefront_photo /* 店铺门头照 */,
- sar.storefront_front_photo as storefront_front_photo /* 店铺门头照正面 */,
- sar.storefront_back_photo as storefront_back_photo /* 店铺门头照背面 */,
- sar.state as state /* 认证状态 */,
- COALESCE(cc.coach_total, 0) as coach_total /* 技师总数 */,
- COALESCE(sc.service_total, 0) as service_total /* 服务项目总数 */
- FROM
- shop_infos si
- LEFT JOIN shop_auth_records sar ON si.auth_record_id = sar.id
- AND sar.deleted_at IS NULL
- LEFT JOIN coach_count cc ON si.id = cc.shop_id
- LEFT JOIN service_count sc ON si.id = sc.shop_id
- WHERE
- si.deleted_at IS NULL
- ORDER BY si.id DESC;
|