同様の列が異なる値を持つ2つのテーブルを結合

Lutfi:

まず第一に、私は前にこの質問を見てきました。(同様の列が異なる主キーを持つ2つのテーブルを

しかし、私の問題から多少の差があります。

私のテーブルには、次のようになります。

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に基づいて、これら2つのテーブルを結合したい、名前、および部門ID表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桁場合IDではTable 2あるIDで見つけることができる値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のデモ

おすすめ

転載: http://10.200.1.11:23101/article/api/json?id=387921&siteId=1