如何使用Sequelize查询两列是否相等?

Sha*_*oon 7 postgresql sequelize.js

db.WorkbookQuestion.count({
  where: {
    QuestionId: dbQuestion.id,
    AnswerSelectedId: db.sequelize.col('CorrectAnswerId')
  }
});
Run Code Online (Sandbox Code Playgroud)

该查询生成此SQL: SELECT count(*) AS "count" FROM "WorkbookQuestions" AS "WorkbookQuestion" WHERE "WorkbookQuestion"."QuestionId" = 1103 AND "CorrectAnswerId";

我如何让它变得更像AnswerSelectedId = CorrectAnswerId

ale*_*cxe 9

你可以通过以下方式完成sequelize.where():

db.WorkbookQuestion.count({
  where: sequelize.where(
    db.sequelize.col('CorrectAnswerId'),
    db.sequelize.col('AnswerSelectedId')
  )
});
Run Code Online (Sandbox Code Playgroud)


nas*_*100 7

今天我被困在这一段时间,直到找到这个答案.我还找到了另一种做同样查询的方法,所以在这里会留下另一个答案.

db.WorkbookQuestion.count({
  where: {
    CorrectAnswerId: {
        $col: 'AnswerSelectedId'
    }
  }
});
Run Code Online (Sandbox Code Playgroud)