1

我正在尝试根据匹配的合同编号加入表格,但是第一个表格在数字前有“合同”一词,在数字后有一堆空格。我似乎不知道如何在查询中执行此操作,并且我还尝试使用表达式来执行此操作(我能够做到,但我无法正确放置过滤器以仅显示匹配的行)。请帮忙!

我正在尝试将我的账单表(表名“RM20101”)中的合同号(列名“TRXDSCRN”)加入我的服务表(表名“SV00500”)中的相同合同号(列名“Contract_Number”) . TRXDSCRN 列需要某种过滤器来从数据的开头删除“合同”一词,匹配接下来的 10 个字母和数字(即合同编号),然后删除后面的任何空格。

如果您需要我遗漏的任何信息,请告诉我。

4

1 回答 1

0

编辑:它应该是 MS SQL 的 SUBSTRING。SUBSTR 是 MySQL。对困惑感到抱歉。


如果我理解正确,我认为您指的是:

SELECT * FROM RM20101 as RM20101
LEFT JOIN SV00500 as SV00500
ON SUBSTR(RM20101.TRXDSCRN,9,10) = SV00500.Contract_Number

解释一下,您真正​​需要的是 SUBSTR() 部分。这就是说,取列 RM20101.TRXDSCRN,第 9 个位置开始,在 10 个字符后结束。你从第 9 个位置开始的原因是因为“合同”有 8 个字符长。当然,您在 10 个字符后结束,因为合同是 10 个字符,如您所说。

如果您对此有任何疑问或它不能完全满足您的所有需求,请告诉我。

于 2013-04-09T15:44:08.580 回答