我在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]);
对于上面的示例,它不应显示任何记录,但实际上会显示。
答案 0 :(得分:0)
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
答案 1 :(得分:0)
Access使用*
代替%
来表示多个字符:
where table2.[reference2] not like "*" & table1.[reference1]
在此处找到更多信息:Like Operator