【问题标题】:Join on two dis-similar column加入两个不同的列
【发布时间】:2014-06-12 05:29:42
【问题描述】:

我需要将一个表的一列连接到另一个表的一列。

现在这两列包含地理区域数据。但问题是该列没有完全相同的字符串和数据。

例如。 Latin America 在一列中,LATM 在另一列中。

如果是相同的字符串,则数据是表,这将是最简单的连接,但这两个表示相同,但​​又是不同的字符串。我用什么来完成我的任务。

我需要做的是

Select * from Table1 Inner Join Table2 on table1.region = table2.region 

【问题讨论】:

  • 你需要一个映射表。一个表,其中一列为Latin America,另一列为LATM。然后通过该表加入。
  • 你用的是什么数据库?

标签: sql database string inner-join


【解决方案1】:

您需要创建一个映射表,将 Table1.region 中的每个可能区域映射到 Table2 中的每个可能区域

例如你的映射表是这样的。

MappingTable
--------------------------
Region1       |  Region 2
--------------------------
Latin America |  LATM     
Europe        |  EUR
.....

你可以创建一个像这样的连接

Select * 
from 
    Table1 
inner join 
    MappingTable 
on
    Table1.region = MappingTable.Region1
inner join
    Table2
on
    MappingTable.Region2 = Table2.region

【讨论】:

    【解决方案2】:

    您需要创建另一个包含两个表连接信息的表,例如 'Latin America' = 'LATM',然后必须在连接中使用此表。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-05-29
      • 2015-04-03
      • 2013-05-30
      • 1970-01-01
      • 1970-01-01
      • 2015-09-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多