开发者社区> 问答> 正文

MySQL的复杂查询语句问题。

关于一个mysql的查询,各表如下。
19
说明:表1是商户信息表,其中1个法人可以拥有很多店,location字段对映表2的location_id,表示所在楼层。
20
说明:表2是商场位置表,为表1提供所有的商场位置,这是一个无限级类表,各位应该都了解这种无限级分类方法。
我的问题是:1、查询法人 [一个法人有多个店,以法人字段进行group] 在各店 [北郊店是北郊店(1层)和北郊店(2层)的父级,所以如果一个法人在北郊店有好几个店,只能算一个店。] 是否都有店?分别有多少个店面?求解?谢谢!

展开
收起
落地花开啦 2016-02-11 14:16:12 2385 0
1 条回答
写回答
取消 提交回答
  • 喜欢技术,喜欢努力的人

    这样的sql语句,可不可行
    `SELECT tmp.name,COUNT(DISTINCT tmp.shop_id) AS 'locat_sum',
    SUM(tmp.shop_no) AS 'shop_sum'
    FROM (SELECT si.name AS 'name'
    ,(CASE WHEN sl.parent_id=0 THEN sl.location_id ELSE sl.parent_id END) AS 'shop_id'
    ,(CASE WHEN sl.parent_id=0 THEN 0 ELSE 1 END) AS 'shop_no'
    FROM shop_info AS si
    LEFT JOIN shop_location AS sl ON si.location=sl.location_id
    ) AS tmp
    GROUP BY tmp.name ; `

    2019-07-17 18:40:41
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
搭建电商项目架构连接MySQL 立即下载
搭建4层电商项目架构,实战连接MySQL 立即下载
PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

相关镜像