我已经找到了答案,却找不到答案。
我有一个记录整数而不是文本的表。我正在尝试运行查询并替换特定整数的文本。
这里是列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"确定了吗?一旦我可以开始工作,我将扩展到包括所有类别。
答案 0 :(得分:1)
CASE语句应该有效,但更好/更灵活的方法是使用包含整数值和描述性文本的查找表,然后连接到该表并将文本拉出。这使得更改更容易实现,因为您更新/添加到查找表而不是更改代码。如果您需要,它还有助于以更干净的方式实现用户友好的界面。