日期:2014-05-18 浏览次数:20721 次
IF EXISTS (SELECT 1 FROM SYSOBJECTS WHERE name = '表1')
BEGIN
DROP TABLE 表1
END
GO
CREATE TABLE 表1
(
id INT,
描述 VARCHAR(100),
标准地址 VARCHAR(100)
)
GO
INSERT INTO 表1
SELECT 1,'雁塔路30号','' UNION
SELECT 2,'北山门口村','' UNION
SELECT 3, '长安路100号','' UNION
SELECT 4, '地址不详','' UNION
SELECT 5, '北山门村','' UNION
SELECT 6, '雁塔南路',''
IF EXISTS (SELECT 1 FROM SYSOBJECTS WHERE name = '表2')
BEGIN
DROP TABLE 表2
END
GO
CREATE TABLE 表2
(
id INT,
字典项 VARCHAR(100),
标准地址 VARCHAR(100)
)
GO
INSERT INTO 表2
SELECT 1, '北山门', '北山门村' UNION
SELECT 2, '雁塔路', '雁塔路' UNION
SELECT 3, '雁塔南路', '雁塔南路' UNION
SELECT 4, '长安路', '长安路' UNION
SELECT 5, '铁一村', '铁炉庙村' UNION
SELECT 6, '铁二村', '铁炉庙村'
UPDATE 表1 SET 表1.标准地址 = B.标准地址 FROM 表2 AS B WHERE CHARINDEX(B.字典项,表1.描述) > 0
SELECT * FROM 表1
id 描述 标准地址
1 雁塔路30号 雁塔路
2 北山门口村 北山门村
3 长安路100号 长安路
4 地址不详
5 北山门村 北山门村
6 雁塔南路 雁塔南路
------解决方案--------------------
update 表1 set 标准地址=b.标准地址
from 表1 a ,表2 b
where b.字典项 like a.描述+'%'