sql - 通过匹配具有不同数据类型的两列来连接两个表
问题描述
我正在尝试加入两个表。
- 表 1:第 1 列、第 2 列、语言(英语和法语)
- 表 2:A 列、B 列、Language_ID (1,2)
Language_ID
&Language
是匹配的列。这里,1 指英语,2 指法语。我正在考虑在加入表时使用 case & 转换数据类型(数字到 varchar)。有人可以帮我弄这个吗?非常感谢!
解决方案
您可以使用 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