您的位置:首页 > 数据库

数据库查询结果作为表

2014-09-04 22:16 204 查看
      有时我们为了保证数据的有效性,把带有层次结构的数据保存在同一张表里面,初学的时候我们会觉得不知道如何查询!而且表有几个字段,查出来的结果不会超过表的字段。其实不然,造成这种原因是因为思维定势!举个例子

省表:tb_area



那么我们要查询各个省各个市都列出来怎么办,比如



其实就是要把我们查询到的结构作为表再查询一次,首先我们查询出所有省,

select id provinceId,name provinceName
from tb_area where parentId=0

结果:



把这个结果作为表再与原表进行联合查询(注意:MySql里面查询的结果不允许有相同的字段,否则会报错,所以要改名字,而且改了名字查询的时候思路也会清晰一些)再进行一次查询:

select provinceId,provinceName,city.id cityId,city.name cityName 
from
(
select id provinceId,name provinceName
from tb_area where parentId=0) province,tb_area city
where city.parentId=provinceId

结果:<
4000
/span>



至于所有省所有区的话,我相信看懂的都会查了!就是要把这个作为结果再与tb_area进行查询!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: