如何联接具有不同字段的两个表?

时间:2018-09-19 22:08:07

标签: sql sql-server ms-access

我想在以下字段中加入两个表

表A

ID
2345
2346
2347

TableB

BarecodeID
*2345U12*
*2346P1*
*2346P2*
*2346P3*
*2347Z1*
*2347Z2*

TableB.BarCodeID是通过串联在前端访问中从TableA.ID生成的

TableB.BarcodeID = '*' & TableA.ID & 'Z' & x & '*'

所以要加入,我要修剪,提取等!!!!删除结尾处的“ *”,并修剪后面的字符和数字(例如U12,P1,P2等)。

请建议最佳做法,将两个相似字段的表联接起来。

1 个答案:

答案 0 :(得分:4)

某事LIKE

SELECT *
FROM TableA
INNER JOIN TableB ON TableB.BarecodeID LIKE CONCAT('*', TableA.ID, '[A-Z]%')

这假定数字始终后面跟一个字符。因此2345将与*2345WHATEVER匹配,但与*23456WHATEVER不匹配。