我有两个表,它们没有用于加入的不同标识符。但是,Table1 有一个字段 (Milestone),其中包含一个格式为 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
希望有帮助!
戴夫