1

我有一些数据存储在一个关于客户语言偏好的表中,但它存储为一个整数,其中 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
4

2 回答 2

2

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
于 2012-12-11T21:25:51.547 回答
1

使用 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
于 2012-12-11T21:25:38.563 回答