簡體   English   中英

如何在sequelize中選擇案例查詢?

[英]How to select case query in sequelize?

我有一個SQL查詢:

SELECT field1, field2,
  CASE
    WHEN field1=1 THEN 'a'
    ELSE 'b'
  END 
  AS field3
FROM test

我想用sequelizejs實現它,

const params = {
  attributes: //DO SELECT CASE,
};

yield Model.findAll(params);

誰能幫我? 謝謝。

對於仍在尋找這個答案的人們

Model.findAll({
  attributes: [[models.sequelize.literal('CASE WHEN "field1" = true THEN 55 ELSE 23 END'), 'field3']]
}

要么

Model.findAll({
  attributes: { include: [[models.sequelize.literal('CASE WHEN "field1" = true THEN 55 ELSE 23 END'), 'field3']]}
}

所以在我的例子中,當field1為true時,它將返回55 else 23.這將生成一個類似的查詢

SELECT CASE WHEN "field1" THEN 55 ELSE 23 END AS "field3" FROM "models"

有關詳細信息,請參閱文檔http://docs.sequelizejs.com/en/latest/docs/querying/#attributes

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM