重命名从IN LIST语句返回的值

时间:2013-10-01 20:28:55

标签: sql

我正在执行一个sql语句,从表中选择几列但是对于一列,查询执行IN选择,返回包含请求值的行。 我的问题是典型的用户不会理解从db返回的值,所以我想重命名这些值,以便在用户理解中返回它们(在csv文件中)。有人帮我吗?

相关部分如下:

Select a.attr1, a.attr2, b.attr1, b.attr2, b.attr3
From table a, table b
Where b.attr1 IN ('val.1', 'val.2', 'val.3', 'val.4', 'val.5')

由于

1 个答案:

答案 0 :(得分:2)

使用CASE语句对其进行适当格式化,例如:

SELECT CASE a.attr1
    WHEN 'val.1' THEN 'myCustomVal1'
    WHEN 'val.2' THEN 'myCustomVal2'
    WHEN 'val.3' THEN 'myCustomVal3'
    WHEN 'val.4' THEN 'myCustomVal4'
    ELSE 'myCustomVal5'
    END,
 a.attr2, b.attr1, b.attr2, b.attr3
FROM table a, table b 
WHERE b.attr1 IN ('val.1', 'val.2', 'val.3', 'val.4', 'val.5')