我可以根据表中的值返回一个字符串吗?

Kal*_*sin 2 sql sql-server-2000

请考虑以下查询:

SELECT operation, [...] FROM tableName

operation字段将检索1到4之间的整数.我想要做的是根据整数值为SQL查询中的变量赋值operation.

如果由我决定,我会有一个相应的表,其中包含每个操作的名称,在这种情况下,a JOIN将获取操作字符串.不幸的是,我不控制数据库.

我不知道这是否是SQL可以做的事情,我当然可以使用PHP迭代返回的数据来执行此任务,但是如果可能的话,在一次点击中完成所有操作都是有意义的.

Mit*_*dir 10

尝试一下kile这个:

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
Run Code Online (Sandbox Code Playgroud)

  • +1在此示例中,最好使用简单的case语句,而不是在其他答案中发布的已搜索的case语句 (3认同)

gpe*_*che 6

select
  case when operation = 1 then
    '1st operation'
  case when operation = 2 then
    '2nd operation'
  else
    'Unknown operation'
  end operation_name
from tableName
Run Code Online (Sandbox Code Playgroud)