如果两个表是这样的,你能连接它们吗?
表1
Key_ID Item
1234.P User 123
4324.P User 234
5432.P User 345
表2
Key_ID Item
1234.J Computer ABC
4324.J Computer DEF
5432.J Computer GHI
如果我可以消除每个 Key_ID 的最后 2 个字符,那么这些值将是相同的。沿着这些思路的东西有效吗?
FROM [Table 1]
INNER JOIN [Table 2]
ON Left(([Table 1].Key_ID), Len([Table 1].Key_ID) - 2) =
Left(([Table 2].Key_ID), Len([Table 2].Key_ID) - 2)
Key_ID 中句点左侧的值可能包含字母字符,并且可能多于或少于 4 个字符。
最佳答案
我刚刚在 Access 2007 中尝试过此操作:
--假设所有 KEY_ID 值都是 ####.A 的惰性方法
SELECT *
FROM Table1 AS T
INNER JOIN Table2 AS T2 ON LEFT(T.Key_ID,4) = LEFT(T2.Key_ID,4);
--如果你想加入句号左边的所有内容
SELECT *
FROM Table1 AS T
INNER JOIN Table2 AS T2 ON Mid(T.Key_ID,1,Instr(1,T.Key_ID,".",1)-1) = Mid(T2.Key_ID,1,Instr(1,T2.Key_ID,".",1)-1);
关于sql - MS Access - 如果仅使用 LEFT 函数,则联接值相似的表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17046820/