有两个表:
表location是无限级分类表(店面),结构如下:
表info是信息表(商家信息),结构如下:
info表的location字段值只关联location表的子级id,即3、4。 现在要做的操作是,当表单提交后URL传过id(该值仅为location的顶级分类,即1,2,可为1,可为2,或者1,2两个值一起),查询以info表的name进行分组,查询有多少家商家。
我写了一个查询如下,没写完,查出了的数据不是以location表一级数据(东店、南店)和info表之间的数据关系
`select i.name,group_concat(distinct i.location order by i.location) as group_id,
group_concat(distinct f.location_name order by f.location_name) as group_name,
count(*) as count
from shop_info i
left join shop_location f on f.location_id = i.location
group by i.name
having group_id = '????'
order by group_id desc`
麻烦各位sql高手解答。
给info信息表再加上location_f字段,表示location的父级id。
sql可以这样写,其中$getUrl为获取的搜索值:
`select i.name,group_concat(distinct i.location_f order by i.location_f) as group_id,
group_concat(l.location_name) as group_name,
count(*) as count
from info i
left join location l on l.location_id = i.location
group by i.name
having group_id = '$getUrl'
order by count desc`
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。