SQL replace value



>我在表格中存储了一些关于客户语言偏好的数据,但它存储为整数,其中 8 = 英语和 9 = 法语等。我假设这样做的原因是整数是另一个表中的键,该表将它们链接到描述它们的字符串。

不幸的是,我只能访问第一个表,而无法访问另一个表,或者执行 JOIN 很简单,那么是否可以编写一个 SELECT 查询将 8 映射到英语,将 9 映射到法语等等?

我在想象这样的事情..

SELECT clientName, FUNCTION(languagePreference, ((8, "English"), (9, "French"))) 
FROM table

所以取而代之的是..

clientName languagePreference
Dave          8    
Emmanuelle    9    
Luc           9    
John          8

我明白了...

clientName languagePreference
Dave         English
Emmanuelle   French
Luc          French
John         English

TSQL:

SELECT clientName, 
  CASE languagePreference
       WHEN 8 THEN 'English'
       WHEN 9 THEN 'French'
       ... --Go on like this if you have more languagePreference keys
  END as languagePreference
FROM table

使用 TSQL,请使用CASE

SELECT clientName, 
       CASE WHEN (languagePreference=8) THEN 
               'English' 
       ELSE 
            CASE WHEN (languagePreference=9) THEN
                'French'
            ELSE
                'Unknown'
            END
       END as languagePreference
FROM table

最新更新