首页 > 解决方案 > 通过匹配具有不同数据类型的两列来连接两个表

问题描述

我正在尝试加入两个表。

Language_ID&Language是匹配的列。这里,1 指英语,2 指法语。我正在考虑在加入表时使用 case & 转换数据类型(数字到 varchar)。有人可以帮我弄这个吗?非常感谢!

标签: sqlsql-servertsql

解决方案


您可以使用 CASE 表达式并将 language_id 转换为语言并执行如下所示的 JOIN:

SELECT t1.column1,t1.column2, t2.columnA, t2.columnB
FROM       Table1 AS t1
INNER JOIN 
            (SELECT ColumnA, ColumnB, 
                    CASE Language_ID WHEN 1 THEN 'English' 
                                     WHEN 2 THEN 'French' 
                     End AS Language 
             FROM Table2) AS t2
ON t1.Language = t2.Language

推荐阅读