mysql - 部分匹配号字段
问题描述
嘿,伙计们,我在工作中真的很挣扎......我有 2 个带有注册号的表,在表 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
...
推荐阅读
- apache-spark - 根据先前的值和行 Pyspark 填充列
- javascript - HLS video quality selector in React.js
- css - typekit 返回状态码 412 前置条件失败
- javascript - 如何手动更改 Parcel 中的文件名?
- python - 使用 Pandas 数据框覆盖现有工作表上的现有 Excel 数据?
- json - 从 Scala 中 json 的字符串表示形式的任何键值中获取值(使用 scala.util.parsing.json)
- powerbi - 使用 Power BI 条件格式
- ios - 带有可可豆荚的“豆荚安装”不起作用
- powerbi - 有什么方法可以检查 PowerBI 中的行是否唯一?
- python - python 3.9 和 rdflib 不断改变 url 中的斜杠