日期:2014-05-17  浏览次数:20823 次

求两个列近似相等的语句
比如

table A 

city你
南京
北京
苏州
   
table B
city
南京A
北京B
苏州

现在tableA.city = tableB.city 肯定是没有数据的,我想像 tableA中南京和tableB中南京A
北京和北京B ,苏州和苏州两者只要存在相同部分就认为是相等的,求写发!



------解决方案--------------------
测试数据:
SQL code

CREATE TABLE T174
(
    City VARCHAR2(20)
);
INSERT INTO T174 VALUES('南京');
INSERT INTO T174 VALUES('北京');
INSERT INTO T174 VALUES('苏州');

CREATE TABLE T175
(
    City VARCHAR2(20)
);

INSERT INTO T175 VALUES('南京A');
INSERT INTO T175 VALUES('北京B');
INSERT INTO T175 VALUES('苏州');

------解决方案--------------------
SQL code

WHERE (tableA.city  LIKE  '%' || tableB.city || '%')
 OR 
(tableB.city  LIKE  '%' || tableA.city || '%');

------解决方案--------------------
只要存在相同部分就认为是相等的


部分如何定义 是一个数据包涵另外一个数据 还是有部分相同就可以了?


如果是北京A和北京B可以么?