在查询中用字符串替换整数

时间:2014-07-10 17:07:31

标签: mysql

我已经找到了答案,却找不到答案。

我有一个记录整数而不是文本的表。我正在尝试运行查询并替换特定整数的文本。

这里是列cal_referral_type中的整数(此列为int),其中包含它所代表的相关文本:

DO NOT TRACK|1
Carey Guide |2
Education   |3
Employment  |4
Housing     |5
Medical     |6

我需要运行一份报告来查看每个类别的推荐次数,但是工作人员只会对这个数字感到困惑。

如果我运行查询:

SELECT cal_owner,cal_title,cal_referral_type 
FROM egw_cal 
WHERE cal_referral_type = 3

它显示了所有推荐给教育服务的内容,但该列结果显示为" 3"而不是描述性文字"教育"

我已经读过我可以使用CASE语句,例如:

SELECT cal_owner,cal_title, CASE cal_referral_type
WHEN 1 THEN 'NA' ELSE 'other' FROM `egw_cal`

每当我以不同的方式扭曲查询时,它只是错误。

那么,有没有办法可以让查询结果显示出来" education"每次整数" 3"确定了吗?一旦我可以开始工作,我将扩展到包括所有类别。

1 个答案:

答案 0 :(得分:1)

CASE语句应该有效,但更好/更灵活的方法是使用包含整数值和描述性文本的查找表,然后连接到该表并将文本拉出。这使得更改更容易实现,因为您更新/添加到查找表而不是更改代码。如果您需要,它还有助于以更干净的方式实现用户友好的界面。