部分匹配编号字段



嘿,伙计们,我在工作中真的很吃力。。。我有两张带有注册号的表,在表1中,这些数字有3、4、5、6或7位数。在表2中,这些数字长9位(与表1中的数字相同,但填充了0(。

Example: table1 | table2
134   |000000134
2364   |000002364
45678   |000045678

因此,我需要进行一个匹配这两个数字的联接查询,以获得拥有这些数字的人的姓氏。

我有这样的东西:

-SELECT prest.lastname,aut.registrationcode, aut.date,
-SUM(CASE WHEN aut.type like '%O%' THEN 1 ELSE 0 END) as 
'Online',
-SUM(CASE WHEN aut.type like '%D%' THEN 1 ELSE 0 END) as 
'Difered',
-count(*) AS TOTAL
-FROM prest INNER JOIN aut ON 
-aut.registrationcode like '%' || prest.code
-WHERE (aut.date BETWEEN '2019-12-01' AND '2019-12-31')
-GROUP BY prest.lastname, aut.date;  

希望你能帮我。

假设包含注册号的两列都具有文本数据类型(VARCHAR、CHAR、text…(,则可以使用LPAD()函数:

...
FROM table1
JOIN table2 ON LPAD(table1.registrationcode, 9, '0') = table2.registrationcode
...

最新更新