热搜:NVER node 开发 php

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

2024-08-17 22:25:02
在线等,关联查询问题,比如省市关联查询,一级省,二级市

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

最好贴出表结构