Вложенный MS Access SQL-запрос с использованием оператора 'LIKE' - PullRequest
0 голосов
/ 08 октября 2018

Мне выдано большое количество файлов и что фактически является «индексом документа» в файле 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.

1 Ответ

0 голосов
/ 08 октября 2018

Не пробовал, а что по этому поводу?

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

Это должно быть сделано в представлении SQL и не позволит вернуться обратно в представление конструктора, но должно работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...