现在有两个表,结构如下:
表一:邮政编码,姓名,地址,段名
表二:段名,路名
表一中的段名为空,地址字段是详细地址,如:南京市国庆西路53号301室;
表二是将全市按区域划分为若干段,如国庆东路,国庆西路,江苏路,山西路等等为1段,
鼓楼南路,鼓楼北路,南京路,珠江路等等为2段,中华巷,迎幸东巷,银杏新村等等为3段
现在要求将表一根据地址字段按照表二的划分来更新段名字段的值,具体程序或者sql语句该怎么写?分不够可以再加!
表一:邮政编码,姓名,地址,段名
表二:段名,路名
表一中的段名为空,地址字段是详细地址,如:南京市国庆西路53号301室;
表二是将全市按区域划分为若干段,如国庆东路,国庆西路,江苏路,山西路等等为1段,
鼓楼南路,鼓楼北路,南京路,珠江路等等为2段,中华巷,迎幸东巷,银杏新村等等为3段
现在要求将表一根据地址字段按照表二的划分来更新段名字段的值,具体程序或者sql语句该怎么写?分不够可以再加!
解决方案 »
- 为了加强数据的保密性我想这样实现可以吗??
- 关于数据复制,请名位高手帮忙解决一下这个问题小弟不甚感激
- 如何将DBGrid中的内容存为一个文本文件,在access中定义的长日期格式,在delphi7中为何只显示为短格式
- Windows XP中如何安装MS SQL SERVER2000?
- 如何实现使用CORBA技术让连接到CORBA服务器的多台客户机进行数据的发送与接收??谢谢!!!
- 你见过吗?中文输入法在程序中莫名消失的奇怪事~~~~~~~~
- 怎样一次关闭一个父窗体的所有子窗体
- 怎样将一个文件文件读入一个数组
- hook messagebox
- ado在客户机器上怎么设置呀!在有 delphi环境的机器上好用.
- clientsocket控件不能接收到数据怎么回事?
- 如何用adodataset控件判断一个表的字段类型?
--drop table t2set nocount on
create table t1 (s1 varchar(50) ,s2 varchar(50),s3 varchar(50),s4 varchar(50))insert into t1 values('523650','张一','南京市国庆西路53号301室','')
insert into t1 values('523650','张二','南京市珠江路53号301室','')
insert into t1 values('523650','张三','南京市迎幸东巷53号301室','')
create table t2 (s4 varchar(50),s5 varchar(50))insert into t2
select '1','国庆东路'
union
select '1','国庆西路'
union
select '1','江苏路'
union
select '1','山西路'
union
select '2','鼓楼南路'
union
select '2','鼓楼北路'
union
select '2','南京路'
union
select '2','珠江路'
union
select '3','中华巷'
union
select '3','迎幸东巷'
union
select '3','银杏新村'select * from t1
select * from t2
update t1 set t1.s4=t2.s4 from t1 inner join t2 on PATINDEX('%'+t2.s5+'%',t1.s3)>0
select * from t1……………………………………………………
结果:s1 s2 s3 s4
---------- ---------- ------------------------------ -----
523650 张一 南京市国庆西路53号301室
523650 张二 南京市珠江路53号301室
523650 张三 南京市迎幸东巷53号301室 s4 s5
----- ------------------------------
1 国庆东路
1 国庆西路
1 江苏路
1 山西路
2 鼓楼北路
2 鼓楼南路
2 南京路
2 珠江路
3 银杏新村
3 迎幸东巷
3 中华巷s1 s2 s3 s4
---------- ---------- ------------------------------ -----
523650 张一 南京市国庆西路53号301室 1
523650 张二 南京市珠江路53号301室 2
523650 张三 南京市迎幸东巷53号301室 3
用access,显示错误:表达式中CharIndex函数未定义!
用sqlserver就可以了吗?
但是将查询改为
Update 表1 set 段名=(Select 表2.段名 from 表2 where instr(表2.路名,表1.地址)>0)
执行显示“请使用一个可更新的查询”错误 请问为什么啊?该怎么办啊?