如何使用来自2个MySQL表的类似但不同格式的列将其加入一个MySQL表?

发布于 2025-02-03 21:11:47 字数 164 浏览 3 评论 0原文

我想知道如何根据名为“ Chamber_id”的列将2个表加入一张表格,但是,具有2种不同格式。表A的列带有格式:SG_QRA_SGHAST_0001、0002等。并且表B具有相同的列,其格式为:SGHAST.0001、0002等。有人知道如何启动此复杂任务以及我应该使用哪种语言( python也许?)?谢谢你!

I wanna know how to join 2 tables into one based on a column named 'Chamber_ID', however, with 2 different formats. Table A has the column with the format: SG_QRA_SGHAST_0001, 0002, etc. and Table B has the same column with format like: SGHAST.0001, 0002, etc. Does anyone know how to start this complicated task and which language should I use (Python perhaps?)? Thank you!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

以歌曲疗慰 2025-02-10 21:11:47

如果字母是静态的,并且唯一变化的是数字,
您可以将最后4个字符的子字符串划分,这将使您仅留下数字(带有领先的零),然后可以比较它们('0001'='0001')

SELECT *
FROM A, B
WHERE SUBSTRING(A.Chamber_ID,-4,4) = SUBSTRING(B.Chamber_ID,-4,4)

如果您喜欢内部的加入语法:

SELECT *
FROM A INNER JOIN B ON SUBSTRING(A.Chamber_ID,-4,4) = SUBSTRING(B.Chamber_ID,-4,4)

In case the letters are static and the only thing that changes are the numbers,
you can take a substring of the last 4 characters, which will leave you with the numbers only (with leading zeros), and then you can compare them ('0001' = '0001')

for example:

SELECT *
FROM A, B
WHERE SUBSTRING(A.Chamber_ID,-4,4) = SUBSTRING(B.Chamber_ID,-4,4)

If you prefer inner join Syntax:

SELECT *
FROM A INNER JOIN B ON SUBSTRING(A.Chamber_ID,-4,4) = SUBSTRING(B.Chamber_ID,-4,4)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文