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