加入包含mid函数

时间:2014-04-30 14:08:25

标签: sql ms-access substring left-join

我试图在ON子句中使用mid来请求

SELECT ....
FROM T1 as t1 LEFT JOIN T2 as t2 on MID(t1.f1, 1, 13) = MID(t2.f2, 1, 13)

它拒绝工作

JOIN expression not supported

如果我在没有mid的情况下运行完全相同的查询它工作得很好(execpt我不会得到我想要的walue)

我尝试将mids外部化为两个请求。但它仍然没有在中间工作(没有工作)。

我该怎么做这个请求?

1 个答案:

答案 0 :(得分:3)

不,Access仅支持按字段值加入,而不支持通过表达式加入。但是,您可以加入子查询:

SELECT ....
FROM (SELECT *, MID(t1.f1, 1, 13) KeyValue FROM T1) as t1 
LEFT JOIN (SELECT *, MID(t2.f2, 1, 13) KeyValue FROM T2) as t2
    ON t1.KeyValue = t2.KeyValue