我一直在寻找答案,却一直找不到答案。
我有一个表,它记录的是整数而不是文本。我正在尝试运行一个查询,并将文本替换为一个特定的整数。
下面是列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“,而不是描述性文本”教育“。
我读到过,我可以使用一个案例陈述,例如:
SELECT cal_owner,cal_title, CASE cal_referral_type
WHEN 1 THEN 'NA' ELSE 'other' FROM `egw_cal`每次我以不同的方式扭曲查询时,它都只是错误。
那么,在每次识别整数"3“时,我是否可以让查询结果显示"education”呢?我将扩大到包括所有类别,一旦我可以得到一个工作。
发布于 2014-07-10 17:11:16
CASE语句应该可以工作,但更好/更灵活的方法是有一个具有整数值和描述性文本的查找表,然后连接到该表并取出文本。这使得更改更容易实现,因为您可以更新/添加到查找表,而不是修改代码。如果您需要的话,它还可以帮助您以更干净的方式实现用户友好的界面。
https://stackoverflow.com/questions/24682450
复制相似问题