【发布时间】:2019-08-06 06:53:39
【问题描述】:
我试图编写“WHERE (CASE ... THEN ... ELSE ... END) > 0”来续集 v3.33,但还没有找到解决方案。
试过 sequelize.literal('...') 但没有用。 使用“HAVING”是一种解决方案,但它对大数据提取的性能没有好处,而且速度要慢一倍。
这只是 MySQL 代码的一个示例,但与我想要实现的目标非常接近。
SELECT
(CASE `a`.`fee` IS NULL
THEN `a.b`.`fee`
ELSE `a`.`fee`
END) AS `_fee`
FROM `a`
WHERE
(CASE `a`.`fee` IS NULL
THEN `a.b`.`fee`
ELSE `a`.`fee`
END) > 0 AND
(created_at > currentDate
AND
created_at < futureDate)
我想将其转换为续集。以下是我所能做到的,我不知道如何添加案例关闭。
models.a.findAll({
...
where: {
created_at: { $gt: startDate, $lt: endDate }
}
})
*** 不要介意 created_at,这只是一个例子。
【问题讨论】:
标签: javascript mysql sequelize.js