小编Mak*_*lin的帖子

在Zend Framework 2的SQL查询中使用case/when/then

我有疑问:

SELECT user_name, group_id,
       CASE WHEN col_1 = 1 THEN 0 
            WHEN col_2 = 1 THEN 1 
            WHEN col_3 = 1 THEN 2 
       END as merge_col
FROM some_table
WHERE group_id = 10
ORDER BY merge_col.
Run Code Online (Sandbox Code Playgroud)

如何使用ZF2Zend\..\Sql,我可以实现这个查询吗?

更新:

感谢谁试图帮助我.它的工作如下:

$select->columns(array(
            'user_name', 
            'group_id', 
            'merge_col' => new Expression('CASE WHEN col_1 = 1 THEN 0 
                     WHEN col_2 = 1 THEN 1 
                     WHEN col_3 = 1 THEN 2 END')))
->where (array('group_id'=> 10))
->order ('merge_col');
Run Code Online (Sandbox Code Playgroud)

有更好的答案吗?

谢谢.

sql zend-db zend-framework2

4
推荐指数
1
解决办法
4288
查看次数

标签 统计

sql ×1

zend-db ×1

zend-framework2 ×1