我有两个表需要查询我的报告。
第一个表为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]%
有人可以帮我吗?
谢谢
答案 0 :(得分:0)
这对我有用:
[Test_Cap_Model1].[Model] Like [TestModel] & '%'
答案 1 :(得分:0)
您需要将通配符运算符与字段值(假设当然是字符串值的字段)连接起来:
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'