我有疑问:
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)
如何使用ZF2和Zend\..\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)
有更好的答案吗?
谢谢.