使用"LIKE"运算符的嵌套 MS 访问 SQL 查询



>我得到了大量的文件,以及excel文件中实际上是"文档索引"。

我正在尝试确定我们是否真的收到了索引中列出的所有文件。

我的问题是并非所有电子文件名都是正确的。

在某些情况下,电子文件名添加了描述或修订,因此无法直接查找(JOIN(,我想使用嵌套的LIKE语句:

问题的一个例子是我无法匹配以下对象:
tblINDEX.idxFilename    -tblFilename.dirFilename
RR-ASF-00-0111-000075  -    RR-ASF-00-0111-000075Construction Details.pdf    

以下查询 (JOIN( 仅查找直接匹配项:

SELECT tblINDEX.idxFilename, tblFilename.dirFilename
FROM tblINDEX LEFT JOIN tblFilename ON tblINDEX.idxFilename = dirFilename
WHERE tblFilename.filename Is Null Or tblFilename.filename Is Not Null;

下面的查询 (LIKE( 不显示空白/空值(缺少文件名(。

SELECT tblINDEX.idxFilename, tblFilename.dirFilename
FROM tblFilename, tblINDEX
WHERE tblFilename.dirFilename Like idxFilename & '*' Or tblFilename.dirFilename Is Null;

我的嵌套"SELECT"在嵌套的 SELECT 语句中返回语法错误。

SELECT tblINDEX.idxFilename
,(
SELECT tblFilename.filename
FROM tblFilename
WHERE tblFilename.filename Like tblINDEX.idxFilename & '*'
) AS 'idxFilename_FN'    
FROM tblINDEX
;

我知道这种嵌套查询方法在 T-SQL 中有效,但很难让它在 MS Access 中工作。

没有尝试过,但是这个呢?

SELECT tblINDEX.idxFilename, tblFilename.dirFilename
FROM tblINDEX LEFT JOIN tblFilename ON tblFilename.filename Like tblINDEX.idxFilename & '*'  
WHERE....

它必须在SQL视图中完成,并且会阻止切换回设计视图,但它应该可以工作。

最新更新