SQL中如何让2个查询结果部分匹配

来源:百度知道 编辑:UC知道 时间:2024/06/24 12:19:47
因为我要处理一些别人发过来的表,里面有一些地区名。有些表中一个地区叫做“增城市”,而有些表中同一个城市被成为“增城区”。而实际上他们表示的市同一个地区。因为数据量比较大,我不可能在每张表中把“增城市”改成“增城区”,而且还不排除有其他地名也存在这样的问题。但是如果我用where语句表示:...where A表.城市 = B表.城市。 一定得不到答案,毕竟“增城市”不等于“增城区”,而实际上他们是指同一个地区,有高手指点吗?
玉鱼,谢谢你的建议,但是你的方法不行啊,企业里给我的表有很清楚的分类,譬如 阜阳 他的地区代码是100 ,然后下面有一个地区市 阜阳市 ,他的地区代码市150,他的父类地区代码是100.因为 阜阳市 它属于 阜阳 的附属地区

表结构:
A表 地区代号 地区名
譬如 001 增城市
B表 地区名 姓名 性别...
譬如 增城区 张三 1
我要把B表中的一些有效信息挑选后存入C表,而C表中不需要地区名,只需要地区代号,我需要把B表中的地区名参照A表中的信息得到相对的地区代号。..where A表.地区名 = B表.地区名,这样“增城市”不等于“增城区”,我这样就得不到相关的地区代号了,而实际上他们是同一个地区。

你可以先做一个操作,把表的里的城市栏位中的'市',或者‘区’给去掉,再进行操作,具体如下:
SELECT * FROM (SELECT #tableID, substring(#城市名称,0,len(#城市名称)) AS #城市名称 FROM #table) AS A,
(SELECT #tableID, substring(#城市栏位,0,len(#城市栏位)) AS #城市名称 FROM #table1) AS B WHERE A.城市=B.城市

没有表结构没法帮你分析啊

把表结构发出来!