Как проверить, содержит ли ячейка значение другой ячейки в MS Access? - PullRequest
0 голосов
/ 30 апреля 2019

У меня есть 2 столбца в 2 разных таблицах, каждая из которых содержит один и тот же ссылочный номер, но в разных форматах.

Пример:

table1.reference1 | table2.reference2
58575218 | 00000000000058575218

Мне нужно показать записи с разными значениями в этих столбцах, но в приведенном выше примере это то же самое значение с кучей нулей, поэтому, если reference2 содержит reference1, его следует рассматривать как одно и то же значение.

Я пытался объединить '%' с table1.reference1, чтобы игнорировать все эти нули, но, похоже, он не работает.

SELECT 
    * 
FROM
    table1 
LEFT JOIN 
    table2 
ON 
    table1.key1 = table2.key2
WHERE
    ('%' & table1.[reference1])<>table2.[reference2]);

В приведенном выше примере он не должен показывать никаких записей, но на самом деле он показывает.

Ответы [ 2 ]

0 голосов
/ 30 апреля 2019

Access использует * вместо % для обозначения нескольких символов:

where table2.[reference2] not like "*" & table1.[reference1]

Подробнее здесь: Like Operator

0 голосов
/ 30 апреля 2019

Правильный синтаксис в MS Access будет:

FROM table1 INNER JOIN 
     table2 
     ON table1.key1 = table2.key2
WHERE table2.[reference2] NOT LIKE "*" & table1.[reference1]

Или:

WHERE INSTR(table2.[reference2], table1.[reference1]) = 0 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...