Mam*_*men 7 javascript sql postgresql node.js sequelize.js
我有一个SQL查询:
SELECT field1, field2,
CASE
WHEN field1=1 THEN 'a'
ELSE 'b'
END
AS field3
FROM test
Run Code Online (Sandbox Code Playgroud)
我想用它实现它sequelizejs,
const params = {
attributes: //DO SELECT CASE,
};
yield Model.findAll(params);
Run Code Online (Sandbox Code Playgroud)
谁能帮我?谢谢.
小智 9
对于仍在寻找这个答案的人们
Model.findAll({
attributes: [[models.sequelize.literal('CASE WHEN "field1" = true THEN 55 ELSE 23 END'), 'field3']]
}
Run Code Online (Sandbox Code Playgroud)
要么
Model.findAll({
attributes: { include: [[models.sequelize.literal('CASE WHEN "field1" = true THEN 55 ELSE 23 END'), 'field3']]}
}
Run Code Online (Sandbox Code Playgroud)
所以在我的例子中,当field1为true时,它将返回55 else 23.这将生成一个类似的查询
SELECT CASE WHEN "field1" THEN 55 ELSE 23 END AS "field3" FROM "models"
Run Code Online (Sandbox Code Playgroud)
有关详细信息,请参阅文档 http://docs.sequelizejs.com/en/latest/docs/querying/#attributes
| 归档时间: |
|
| 查看次数: |
5399 次 |
| 最近记录: |