0

我有以下表格:

表格1:

col:
20kasi
30kasi
40eswar
00eswar

表2:

col:
00kasi
05kasi
06kasi
03eswar
44eswar

我想通过忽略数字以​​他们的名字加入这两个,以便我可以获得其他列。

select  {something from each tables}
  from table1, table2
 where t1.col1 = t2.col2

它应该显示:

col             {other colums from one of tables after join}

kasi            ----            ----- \n
eswar           ----            -----

这没有正确的语法。但我想要这样。有什么建议么??

4

2 回答 2

0

您总是将前 2 个字符作为数字?如果是,那么这将起作用

select  {something from each tables}
  from table1 t1, table2 t2
 where substr(t1.col1,3,length(t1.col1)) = substr(t2.col2,3,length(t2.col2))
于 2012-12-07T11:59:36.223 回答
0

如果所有字符串都恰好有两位数字,则可以使用:

SELECT *
FROM table1 inner join table2
     on SUBSTRING(table1.col, 3)=SUBSTRING(table2.col, 3)

如果位数可能不同,或者它们位于不同的位置,因为 MySql 不支持正则表达式,您可以使用以下内容:

    SELECT *
FROM table1 inner join table2
     on
        Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(table1.col,'9',''),'8',''),'7',''),'6',''),'5',''),'4',''),'3',''),'2',''),'1',''),'0','') =
        Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(table2.col,'9',''),'8',''),'7',''),'6',''),'5',''),'4',''),'3',''),'2',''),'1',''),'0','')

(它看起来不太好,但它应该可以工作)

于 2012-12-07T11:53:45.107 回答