需要用到union,比如要查询武汉就会出现湖北省,武汉市,洪山区,这个sql语录怎么样写,望大家能教导!
我创建的表关系如下:
CREATE DATABASE wang
go
/*省表*/
create table province(
proid int identity(1,1) primary key,/*省主键*/
proname nvarchar(50),/*名称*/
prosort int,/*排序*/
)
go
insert into province values ('湖北省','0001')
insert into province values ('湖南省','0002')
insert into province values ('江西省','0003')
insert into province values ('广东省','0004')
insert into province values ('广西省','0005')
/*市级表*/
create table city(
crtyid int identity(1,1) primary key,/*市主键*/
crtyname nvarchar(50) not null,/*市名称*/
proid int,/*所属省份*/
citysort int,/*市排序*/
)
go
insert into city values('武汉','0001','001')
insert into city values('天门','0001','003')
insert into city values('长沙','0002','004')
insert into city values('张家界','0002','005')
insert into city values('深圳','0004','006')
/*县级表*/
create table district(
id int identity(1,1) primary key,/*县主键*/
disname nvarchar(50) not null,/*县名称*/
cityid int not null,/*所属省*/
dissort int,/*县排序*/
)
insert into district values('洪山区','0001','01')
insert into district values('小板镇','0001','02')
insert into district values('长沙县','0002','03')
insert into district values('张家界县','0002','04')
insert into district values('宝安区','0004','05')
go
恳请能帮我看一看,希望你能教教我用sql如何将省市区的查询出来,老师说要用到union,谢谢你
刚刚文字打完提交不了,只能截个图上传,这也是我个人的见解,希望采纳
CREATE DATABASE wang
go
/*省表*/
create table province(
proid int identity(1,1) primary key,/*省主键*/
proname nvarchar(50),/*名称*/
prosort int,/*排序*/
)
go
insert into province values ('湖北省','0001')
insert into province values ('湖南省','0002')
insert into province values ('江西省','0003')
insert into province values ('广东省','0004')
insert into province values ('广西省','0005')
/*市级表*/
create table city(
crtyid int identity(1,1) primary key,/*市主键*/
crtyname nvarchar(50) not null,/*市名称*/
proid int,/*所属省份*/
citysort int,/*市排序*/
)
go
insert into city values('武汉','0001','001')
insert into city values('天门','0001','003')
insert into city values('长沙','0002','004')
insert into city values('张家界','0002','005')
insert into city values('深圳','0004','006')
/*县级表*/
create table district(
id int identity(1,1) primary key,/*县主键*/
disname nvarchar(50) not null,/*县名称*/
cityid int not null,/*所属省*/
dissort int,/*县排序*/
)
insert into district values('洪山区','0001','01')
insert into district values('小板镇','0001','02')
insert into district values('长沙县','0002','03')
insert into district values('张家界县','0002','04')
insert into district values('宝安区','0004','05')
go
这我做创建的数据表,恳请能帮我看一看,希望你能教教我用sql如何将省市区的查询出来,老师说要用到union,谢谢你
话说地区表不都是树状表吗?
能否帮我修改一下
老师布置的作业,不是很懂,要求之后还查询出级联效果,谢谢你
其实很简单,一句话, 一个市的parentID 就是 它所在省的id,省的parentId 为0
查询可以做一个视图
Create View V_行政地区目录(省ID,省名称,市ID,市名称,区ID,区名称) as
select z.省ID,省名称,z.市ID,市名称,z.区ID,区名称
from 省表 x,市表 y,区表 z
where z.省ID=x.省ID and z.市ID=y.市ID ;