繁体   English   中英

SQL查询内部连接与字符串中的特定数据

[英]Sql query Inner join with specific data in string

请在下面的2表中找到我要在特定条件下执行内部联接查询的位置。

表格名称:-table1

在此处输入图片说明

表格名称:-table2

在此处输入图片说明

之后的table2列Sr中 ,有一些数字类似于table1列Sr的数字。我想根据该特定数字进行内部联接。

请指导我在描述的情况下我将设法进行内关节治疗的条件。

RexTester.com的工作演示

假设:table2.Name的格式始终为正好1 # hastag /井号/数字符号,后跟表1中的匹配数字。

SELECT T1.Name, T2.value
FROM table2 T2
INNER JOIN table1 T1
 on T1.SR = substring_index(T2.Name,'#',-1);

DOCS

SUBSTRING_INDEX(str,delim,count)

在出现定界符delim之前,从字符串str返回子字符串。 如果count为正,则返回最后定界符左侧的所有内容(从左侧开始计数)。 如果count为负,则返回最后定界符右边的所有内容(从右边开始计数)。 搜索delim时,SUBSTRING_INDEX()执行区分大小写的匹配。

SELECT SUBSTRING_INDEX('www.mysql.com', '.', 2);
'www.mysql'
SELECT SUBSTRING_INDEX('www.mysql.com', '.', -2);
'mysql.com'

免责声明:鉴于我们在联接上使用字符串操作,因此将无法使用任何索引。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM