关于一个mysql的查询,各表如下。
说明:表1是商户信息表,其中1个法人可以拥有很多店,location字段对映表2的location_id,表示所在楼层。
说明:表2是商场位置表,为表1提供所有的商场位置,这是一个无限级类表,各位应该都了解这种无限级分类方法。
我的问题是:1、查询法人 [一个法人有多个店,以法人字段进行group] 在各店 [北郊店是北郊店(1层)和北郊店(2层)的父级,所以如果一个法人在北郊店有好几个店,只能算一个店。] 是否都有店?分别有多少个店面?求解?谢谢!
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
这样的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 ; `