【问题标题】:How can we perform following raw query using Sequelize?我们如何使用 Sequelize 执行以下原始查询?
【发布时间】:2018-03-01 20:38:33
【问题描述】:
select * from student where totalDays-presentDays > 50;

我正在使用 sequelize 执行上述查询。

我尝试了以下代码。

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

但它给出了像 Unexpected token '.' 这样的错误。在数据库名称和 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】:

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

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

    【讨论】:

      猜你喜欢
      • 2017-03-23
      • 2019-01-27
      • 2018-08-21
      • 1970-01-01
      • 2016-01-08
      • 2019-01-27
      • 2014-11-21
      • 2016-05-10
      相关资源
      最近更新 更多