0

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

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

谢谢!

4

2 回答 2

0

我不确定这是否可行,但可能会让您朝着正确的方向开始:

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

我不建议这样做,即使它确实有效。

于 2012-05-22T21:07:23.863 回答
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

希望有帮助!

戴夫

于 2012-05-22T21:09:02.657 回答