我有以下表格:
表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 ---- -----
这没有正确的语法。但我想要这样。有什么建议??
答案 0 :(得分:0)
如果所有字符串都有两位数字,您可以使用:
SELECT *
FROM table1 inner join table2
on SUBSTRING(table1.col, 3)=SUBSTRING(table2.col, 3)
如果位数可以变化,或者它们位于不同的位置,由于MySql不支持regexp,你可以使用以下内容:
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','')
(它看起来不太好,但应该有效)
答案 1 :(得分:0)
你的前两个字符总是数字?如果是,那么这将起作用
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))