access数据库怎么查询a表中合同号字段含有b表中合同号字段,并显示出b表中的对应的那一条数据?

a表:合同号
HD-03550-DD
b表:合同号, 开票日期, 发票号
03550 ,2020.12.01 ,0000530
如何用a表去查询b表中的对应数据

利用函数将a表合同号字段中的合同号取出来啊,然后利用这个作为查询条件查询b表就可以啦!追问

=-LOOKUP(0,-MID(B2,FIND("-",B2)+LEN("-"),ROW(1:99)))这个函数提取出来HD-00530-DD为530,我想要提取出来为00530有什么好的函数么,初学不大懂,希望大神指教。

追答

按道理,这两个合同号都应该是字符串类型的,如果你的a表中合同号中间的数字是固定的长度最简单了:如下。 如果长度不是5个而是不固定的就还要用函数处理一下。

select a表.合同号, b表.合同号, b表. 开票日期, b表.发票号
from a表 inner join b表 on substring(a表.合同号, 4, 5)=b表.合同号

追问

不固定的,起始位数和合同号长度都不一样,望帮忙解答感谢!!

追答

现在我假定要获取您a表中合同号字段值的两个“_”之间的字符串,起始位置和长度不固定。
SUBSTRING(a表.合同号,charindex('_',a表.合同号)+1,charindex('_',a表.合同号,charindex('_',a表.合同号)+1)-charindex('_',a表.合同号)-1)

温馨提示:答案为网友推荐,仅供参考