我们如何使用Sequelize执行以下原始查询?

问题描述 投票:0回答:1
select * from student where totalDays-presentDays > 50;

我使用sequelize执行上面的查询。

我试过以下代码。

where:
     {
       StudentDB.Sequelize.literal(totalDays-presentDays):
       {
          [Op.gt]:50
       }
     }

但它给出了像意外的令牌'错误'。在数据库名称和Sequelize关键字中。

我也尝试过这个。

      attributes: ['ID', 'Name', 'totalDays','presentDays', [StudentDB.Sequelize.literal('(totalDays - presentDays)'), 'absentDays']],

     where:{
      absentDays:{
     [Op.gt]:50 
    }
   }
mysql sql node.js database sequelize.js
1个回答
1
投票

假设您将表名定义为Student(不是变量定义,您在模型中的定义)

所以看起来应该是这样的: where: { and: sequelize.literal('("Student"."totalDays" + "Student"."presentDays" ) > 50 ') }

© www.soinside.com 2019 - 2024. All rights reserved.