在 SQL Server 中使用 When Case 到 Ruby On Rails

1 ruby sql sql-server activerecord ruby-on-rails

我在 SQL 中有这个查询

select @cd_x=
Case 
    when tp_x2='ZZZ' then  tp_x3
    when tp_x2='XXX' then  tp_x3
    else
    tp_x2
end 
from table
where id=@id
Run Code Online (Sandbox Code Playgroud)

如何将此查询翻译为 Ruby on Rails 中的句子?

Sco*_*hea 6

我想你会看到类似的东西:

@cd_x = table.select("CASE WHEN tp_x2='ZZZ' THEN tp_x3 WHEN tp_x2='XXX' then tp_x3 ELSE tp_x2 END").where(:id => id)
Run Code Online (Sandbox Code Playgroud)

我使用它作为模型,尽管他们创建了一个完整的模块而不是一行:ActiveRecord 中的 Case Statement