我正在尝试连接只有两个匹配的密钥为table1.Account
和table2.key
但问题是设置。 table1.Account
字段有10位数字,只有中间的4或5位数字与table2.key
eg : 1234xxxx10 - > table1.Account matches with xxxx -> table2.key
or 123xxxxx10 - > table1.Account matches with xxxxx -> table2.key
我已经编写了这条INNER JOIN代码,但查询一直在运行,并没有给我任何回复。
SELECT DISTINCT column1, column2
from table1 INNER JOIN table2 ON table1.Account like '%'+table2.key+'%'
order by column1
答案 0 :(得分:1)
SQL有一个子字符串函数:
https://msdn.microsoft.com/en-us/library/ms187748.aspx
SELECT DISTINCT column1, column2
from table1
INNER JOIN table2
ON table1.Account = substring(table2.key, 3, 4)
OR table1.Account = substring(table2.key, 4, 4)
order by column1
我不知道你的on子句中是否需要'或',但根据你的问题,这些字段可能有两种匹配方式。无论如何,您可以根据需要修改on子句,但此示例应该可以帮助您使用语法,这似乎是您的障碍。