Home  >  Article  >  Backend Development  >  在线等,关联查询问题,比如省市关联查询,一级省,二级市

在线等,关联查询问题,比如省市关联查询,一级省,二级市

WBOY
WBOYOriginal
2016-06-23 13:45:44858browse

关联查询问题,比如省市关联查询,一级省,二级市。查出的结果如山东省下有济南青岛,江苏省下面有南京苏州这种形式。
我现在查的是山东济南、山东青岛,江苏南京、江苏苏州这种形式,是一个数组。想查出来那种二维数组怎么写sql


回复讨论(解决方案)

这和数据的组织方式有直接关系
先说一下你的数据是什么样的

这和数据的组织方式有直接关系
先说一下你的数据是什么样的


数据库就是省市这种二级关联的

不能举个例子吗?
结构不同算法就不同

不能举个例子吗?
结构不同算法就不同



province表,和city表
想输出这种形式:array(
                                        "0" =>array(
                                                 "province"=>"山东“
                                                 "belong"=>array(
                                                          array("city"=>"济南”),
                                                          array("city"=>"青岛”),
                                                         );
                              "1" =>array(
                                                 "province"=>"江苏“
                                                 "belong"=>array(
                                                          array("city"=>"苏州”),
                                                          array("city"=>"南京”),
                                                         );
                                                   );
                                                   );
想要这种形式

我知道你想要这个样子的
但需要知道你库里是怎么放的,是多表还是单表,名称和编码是什么样的

我知道你想要这个样子的
但需要知道你库里是怎么放的,是多表还是单表,名称和编码是什么样的


库里就是按省和市放的,province.id = city.pid,省的id就是市的pid,就这两个表,编码是utf8

create temporary table province (id int, name varchar(10)) charset gbk;create temporary table city (id int, pid int, name varchar(10)) charset gbk;insert into province values (1, '山东');insert into city values (1, 1, '济南');insert into city values (2, 1, '青岛');insert into province values (2, '江苏');insert into city values (3, 2, '苏州');insert into city values (4, 2, '南京');select id, 0 as pid, name from provinceunionselect pid, id, name from cityorder by 1,2
id pid name 1  0   山东 1  1   济南 1  2   青岛 2  0   江苏 2  3   苏州 2  4   南京 

最好贴出表结构

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Previous article:防止页面刷新Next article:PHP+MYSQL OA管理系统