我有两个表需要查询我的报告。
第一张表是Test_Cap_Model_1
,第二张表是Router
。
我已在我的查询中添加了两个表,我想根据条件进行查询:
if [Test_Cap_Model1].[Modell] Like [Router].[TestModel]*
这意味着如果Model1
表中的字段Test_Cap_Model_1
包含一个以testmodel
表中的Router
开头的值。我已经尝试插入标准,但它说无效的运算符。
我写了这样的标准部分:
[Test_Cap_Model1].[Model] Like [TestModel]%
有人能帮我吗?
谢谢
这对我有用:
[Test_Cap_Model1].[Model] Like [TestModel] & '%'
您需要将通配符运算符与字段值连接(当然假设字符串值为字段):
Test_Cap_Model1.Model like Router.[Test Model] & "*"
使用百分号(%
)作为通配符运算符只有在数据库设置为使用ANSI-92语法(通常不是默认语法)时才有效。
仅当字段名称包含空格时,或者如果使用没有表限定符的保留字时,才需要围绕字段名称的方括号。
我不确定该字段应该是Test Model
还是TestModel
,因为您的问题描述和屏幕截图之间存在差异。
您可以选择将通配符匹配应用于连接条件,而不是根据屏幕截图使用交叉连接,例如:
select
t.model,
t.1st_pass,
t.prime,
r.route
from
test_cap_model1 t inner join router r on t.model like r.[test model] & "*"
where
t.retest = 2 and
t.test_flow = 'Cummulative Yield'
虽然请注意MS Access将无法在查询设计器中显示此类联接,因此您需要保留SQL视图以确保MS Access不会破坏联接。
请注意屏幕截图中可能的拼写错误:
'Cummulative Yield'
也许应该是:
'Cumulative Yield'