我有两个表没有用于加入的不同标识符。但是,Table1有一个字段(里程碑),其中包含一个包含格式为999ABCD的文本字符串。 Table2有一个Subject字段,它也包含这些信息;但是,它位于随机位置,作为记录的“主题”字段中标题的一部分。
有没有办法根据Table1.Milestone中的值连接两个表(Table1.Milestone到Table2.Subject)并在Table2.Subject中搜索匹配的文本?
谢谢!
答案 0 :(得分:0)
我不确定这是否会起作用,但可能会让你开始朝着正确的方向前进:
select * from Table1 T1
join Table2 T2
on T2.Subject LIKE '%' + T1.Milestone + '%'
我不建议做这样的连接,即使它确实有效。
答案 1 :(得分:0)
我不使用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
希望有所帮助!
戴夫