Sql 无不同标识符的访问连接

Sql 无不同标识符的访问连接,sql,join,Sql,Join,我有两个表,它们没有用于连接的不同标识符。但是,表1有一个字段(里程碑),其中包含一个文本字符串,该字符串的格式为999ABCD。表2的主题字段也包含此信息;但是,它位于随机位置,作为记录主题字段中标题的一部分 是否有方法根据Table1.Milestone中的值连接两个表(Table1.Milestone到Table2.Subject),并在Table2.Subject中搜索匹配的文本 谢谢 我不确定这是否有效,但可能会让您从正确的方向开始: select * from Table1 T1 j

我有两个表,它们没有用于连接的不同标识符。但是,表1有一个字段(里程碑),其中包含一个文本字符串,该字符串的格式为999ABCD。表2的主题字段也包含此信息;但是,它位于随机位置,作为记录主题字段中标题的一部分

是否有方法根据Table1.Milestone中的值连接两个表(Table1.Milestone到Table2.Subject),并在Table2.Subject中搜索匹配的文本


谢谢

我不确定这是否有效,但可能会让您从正确的方向开始:

select * from Table1 T1
join Table2 T2
on T2.Subject LIKE '%' + T1.Milestone + '%'

我不推荐这样的连接,即使它确实有效。

我不使用Access,但我已经在MS SQL中为您提供了这样的连接。如果您可以在Access中找到与CHARINDEX类似的功能,则此功能适用于您:

设置:

DECLARE @table1 TABLE (milestone varchar(20))
DECLARE @table2 TABLE (subj varchar(1000), details varchar(1000))

INSERT INTO @table1 VALUES ('999ABCD')
INSERT INTO @table1 VALUES ('999XYZ')

INSERT INTO @table2 VALUES ('Subject is 999ABCD', 'I should join only to 999ABCX')
INSERT INTO @table2 VALUES ('Subject 999XYZ is me', 'I should join only to 999xyz')
INSERT INTO @table2 VALUES ('Subject zzzzz is me', 'Nobody gets me')
实际查询:

SELECT *
from @table1 t1
JOIN @table2 t2 ON CHARINDEX(milestone, subj) > 0
以下是输出:

milestone   subj    details
999ABCD Subject is 999ABCD  I should join only to 999ABCX
999XYZ  Subject 999XYZ is me    I should join only to 999xyz
希望有帮助


戴夫

不用说,我不建议你以这种方式加入!只是想帮你解决问题。