一个查询语句100分求解!!!!!!
A B C
110000北京1
110100北京市110000
110101东城区110100
110102西城区110100
110103崇文区110100
110104宣武区110100
110105朝阳区110100
110106丰台区110100
110107石景山区110100
110108海淀区110100
110109门头沟区110100
110111房山区110100
省级字段C为1 市级字段C等于省级字段A 区级字段C又等于市级字段A
按一个城市省名得到城市和所有区
[解决办法]
select * from table where left(a,2) = (select left(a,2) from table where b=省名)
行政区划的前2位是单一无二的。
[解决办法]
前六位为到县区级单位.
其中前两位为省,自治区,直辖市的代码(后四位为0000).从11-65,如11--北京,21--辽宁,65--新疆
次两位为地市\自治州.(后两位为00)
最后两位为区县.
[解决办法]
select * -- 选择出省级
from t_City
where B = '北京 '
union
select * --选择出省级下面的城市
from t_City
where C = (select A
from t_City
where B = '北京 ')
union
select * --选择出城市下面的区
from t_City
where C = (select A
from t_City
where C = (select A
from t_City
where B = '北京 '))
[解决办法]
假如只有三层
表名为 M
select m.b,m1.b,m2.b
from M,M as m1,M as m2
where m.A=m1.C and m1.A=m2.C
and m.B= '北京 '
order by m.b,m1.b,m2.b