繁体   English   中英

连接具有相似列但不同值的两个表

[英]Joining two tables with similar columns but different values

首先,我之前看到过这个问题:( 两个列相似但主键不同的表

但与我的问题略有不同。

我的桌子看起来像这样:

Table 1
ID     Name    Salary
123    Mike    5000
129    David   4000
133    Linda   4500

Table 2
ID      Dept
0123    IT
0129    Tech Support
0133    Analytics

我想根据id把这两个表连接起来,这样我就可以看到他们的id,name,dept。表1和表2实际上是同一个人的,但是表中的ID前面有一个0 2 所以程序把它当作唯一的值给我这样的结果:

Table result:
ID     Name    Dept
0123   null    IT
0129   null    Tech Support
0133   null    Analytics
123    Mike    null
129    David   null
133    Linda   null

有没有办法可以从表 2 中的 ID 中删除“0”或以某种方式加入它们? 他们没有其他可以使用的类似列。 它应该是这样的:

Table result
ID     Name    Dept
123    Mike    IT
129    David   Tech Support
133    Linda   Analytics

谢谢,如果我的问题重复,我很抱歉,我找不到像我这样的问题。

如果的最后3个数字IDTable 2ID可以在找到值Table 1然后就可以只取Table 2.ID值模1000(剥去任何前导位数)和JOIN上的是:

SELECT t1.ID, t1.Name, t2.Dept
FROM `Table 1` t1
JOIN `Table 2` t2 ON t2.ID % 1000 = t1.ID

输出:

ID      Name    Dept
123     Mike    IT
129     David   Tech Support
133     Linda   Analytics

dbfiddle 上的演示

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM