簡體   English   中英

SQL要求:從兩個表中獲取公共的模式化列聯接

[英]SQL requirement : get common patterned columns join from two tables

我有以下表格:

表格1:

col:
20kasi
30kasi
40eswar
00eswar

表2:

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

我想通過忽略digits將它們的名字加入,以便我可以得到其他列。

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           ----            -----

這沒有正確的語法。 但是我要這樣。 有什么建議么??

如果所有字符串都恰好有兩位數字,則可以使用以下命令:

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','')

(看起來不太好,但是應該可以)

您始終將前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))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM