2

このように見える場合、2 つのテーブルを結合できますか?

表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 文字より多い場合も少ない場合もあります。

4

1 に答える 1

2

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);
于 2013-06-11T15:01:55.193 に答える