在 Microsoft Access 中,我有两个无法更改其结构的链接表。
其中一个表包含整数格式的 ID,另一个包含相同的 ID,但采用字符串格式。
我想加入这些领域,但显然,MS Access 不允许我这样做。
有没有办法,可能使用铸造或类似的东西来创建这个连接?
谢谢
在 Microsoft Access 中,我有两个无法更改其结构的链接表。
其中一个表包含整数格式的 ID,另一个包含相同的 ID,但采用字符串格式。
我想加入这些领域,但显然,MS Access 不允许我这样做。
有没有办法,可能使用铸造或类似的东西来创建这个连接?
谢谢
如果ID
是 autonumber int1
和 text in t2
,您可以CLng()
在ON
表达式中使用转换t2.ID
为长整数。
SELECT *
FROM
t1 INNER JOIN t2
ON t1.ID = CLng(t2.ID);
或者您可以使用Val()
而不是CLng()
其他ID
数字类型。
我不确定查询设计器在设计视图中与此协作的效果如何,但您可以在 SQL 视图中进行。
OTOH,您可能更喜欢创建一个单独的查询“qryT2”,用于t2
将文本 ID 转换为数字。
SELECT CLng(ID) AS numeric_ID, t2.*
FROM t2;
然后,您可以在第一个查询中替换qryT2
,t2
并使用查询设计者认为更合适的查询。
SELECT *
FROM
t1 INNER JOIN qryT2
ON t1.ID = qryT2.numeric_ID;
转到View > SQL View
设计器中,并将您的联接子句更改为:
ON CSTR(IntegerID) = StringID
当然,您的 ID 名称可能会有所不同,但您应该了解这个想法。