感觉有点难。

dengixnyu 2013-06-13 11:18:42
USE [HMGas]
GO
/****** 对象: Table [dbo].[clientaddress] 脚本日期: 06/13/2013 11:13:47 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[clientaddress](
[clientcode] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
[depcode] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
[region] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
[address] [nvarchar](500) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]

USE [HMGas]
GO
/****** 对象: Table [dbo].[ClientRegion] 脚本日期: 06/13/2013 11:14:09 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[ClientRegion](
[depcode] [int] NULL,
[region] [nvarchar](500) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]


就像上图。谁能帮我把clientAddress表里面的depcode =对应的clientregion表的 depcode填上去


...全文
149 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 9 楼 dengixnyu 的回复:
[quote=引用 8 楼 sc273607742 的回复:] [quote=引用 6 楼 dengixnyu 的回复:] [quote=引用 1 楼 sc273607742 的回复:] update clientAddress set depcode=clientregion.depcode from clientregion where charindex(clientregion.depcode,address)>0 这样?
像这种数据数据,Charindex 就不行了。能不能先找到第一个非中文的符号,然后去掉后面的内容,在把剩下前面的内容做charindex ,这样能修改掉很多、 上面红色的那个不会写 [/quote] 你也可以取address的前面非数字的去匹配[/quote] 之前看错了。。像这种怎么改。。。1-30是一个depcode,32-72是另一个deocode [/quote] 你这个最好是在程序里处理吧,用正则表达式判断一下,比如那个xx路xx号,你得把xx都单独历练出来,否则就没办法判断了,你得去找能匹配的模式
dengixnyu 2013-06-13
  • 打赏
  • 举报
回复
引用 8 楼 sc273607742 的回复:
[quote=引用 6 楼 dengixnyu 的回复:]
[quote=引用 1 楼 sc273607742 的回复:]
update clientAddress
set depcode=clientregion.depcode
from clientregion
where charindex(clientregion.depcode,address)>0

这样?




像这种数据数据,Charindex 就不行了。能不能先找到第一个非中文的符号,然后去掉后面的内容,在把剩下前面的内容做charindex ,这样能修改掉很多、
上面红色的那个不会写 [/quote]
你也可以取address的前面非数字的去匹配[/quote]



之前看错了。。像这种怎么改。。。1-30是一个depcode,32-72是另一个deocode

哥眼神纯洁不 2013-06-13
  • 打赏
  • 举报
回复
引用 6 楼 dengixnyu 的回复:
[quote=引用 1 楼 sc273607742 的回复:] update clientAddress set depcode=clientregion.depcode from clientregion where charindex(clientregion.depcode,address)>0 这样?
像这种数据数据,Charindex 就不行了。能不能先找到第一个非中文的符号,然后去掉后面的内容,在把剩下前面的内容做charindex ,这样能修改掉很多、 上面红色的那个不会写 [/quote] 你也可以取address的前面非数字的去匹配
BzTech_123 2013-06-13
  • 打赏
  • 举报
回复
那你能用一楼建议的方法,应该可以处理掉大部分的数据。 剩下的只能具体比对,手动更新了。
dengixnyu 2013-06-13
  • 打赏
  • 举报
回复
引用 1 楼 sc273607742 的回复:
update clientAddress
set depcode=clientregion.depcode
from clientregion
where charindex(clientregion.depcode,address)>0

这样?




像这种数据数据,Charindex 就不行了。能不能先找到第一个非中文的符号,然后去掉后面的内容,在把剩下前面的内容做charindex ,这样能修改掉很多、
上面红色的那个不会写
dengixnyu 2013-06-13
  • 打赏
  • 举报
回复
引用 4 楼 u010933793 的回复:
思路应该是从address 求region, 然后从region 求得depcode , 但是address 跟region 之间有什么关联呢? 是邮码吗?
就是因为没有关联。这是导入的资料。我要根据内容,求出关联。
BzTech_123 2013-06-13
  • 打赏
  • 举报
回复
思路应该是从address 求region, 然后从region 求得depcode , 但是address 跟region 之间有什么关联呢? 是邮码吗?
dengixnyu 2013-06-13
  • 打赏
  • 举报
回复
引用 1 楼 sc273607742 的回复:
update clientAddress set depcode=clientregion.depcode from clientregion where charindex(clientregion.region,address)>0 这样?
能在严谨一点么。、、还有2800行没有修改到?
yo_yo1120 2013-06-13
  • 打赏
  • 举报
回复
用like模糊匹配试试。
哥眼神纯洁不 2013-06-13
  • 打赏
  • 举报
回复
update clientAddress set depcode=clientregion.depcode from clientregion where charindex(clientregion.depcode,address)>0 这样?

34,576

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧