考虑以下问题:
SELECT operation, [...] FROM tableName
operation
字段将检索1到4之间的整数。我想要做的是根据operation
的整数值为SQL查询中的变量分配字符串值。
如果由我决定,我会有一个对应的表,其中包含每个操作的名称,在这种情况下,JOIN
将获取操作字符串。不幸的是,我不控制数据库。
我不知道这是否是SQL可以做的事情,我当然可以使用PHP迭代返回的数据来执行此任务,但是如果可能的话,在一次点击中完成所有操作是有意义的。
答案 0 :(得分:10)
尝试这样的事情:
SELECT
CASE
operation
WHEN 1 THEN 'OP1'
WHEN 2 THEN 'OP2'
WHEN 3 THEN 'OP3'
WHEN 4 THEN 'OP4'
ELSE
'Unknown OP'
END OperationName
,
[...] FROM tableName
答案 1 :(得分:4)
select
case when operation = 1 then
'1st operation'
case when operation = 2 then
'2nd operation'
else
'Unknown operation'
end operation_name
from tableName