根据SQL中的列值显示名称

时间:2015-07-09 21:57:36

标签: sql

我有一个名为Calls的表,其中包含一些呼叫日志,并希望运行一个报告,告诉我使用电话号码的次数和位置名称而不是序列号。表格如下:

record#   phone     serial 
1         1001      111111 
2         1001      111111 
3         1002      222222 
4         1003      111111

到目前为止我已经知道了这一点:

select phone, count(phone) From Calls group by phone

给了我:

1001   2
1002   1
1003   1

但是我也希望包含序列但是将其显示为名称,因此111111将是'伦敦'

1001   2  London
1002   1  Glasgow
1003   1  London

这可能吗?

谢谢

1 个答案:

答案 0 :(得分:0)

这应该这样做:

SELECT `phone`, count(`phone`), 
    CASE
        WHEN `serial` = '11111' THEN 'London' 
        WHEN `serial` = '22222' THEN 'Glasgo'
        ELSE `serial`
    END AS `city`
FROM `Calls` group by `phone`