我有一个 sql :
SELECT * FROM user WHERE uid in (SELECT id FROM umi where pid=10)
如何在 Sequelize 中写它?
我知道代码不对,这是我的代码:
db.user.findAll({
where:{uid:[0,1,2]}
)}
我不知道如何替换 [0,1,2]
我应该查询两次吗?一种是获取数组然后查询用户?
最佳答案
你可以用 sequelize.literal
来做到:
db.user.findAll({
where:{
uid: {
$in : [sequelize.literal('SELECT id FROM umi where pid=10'))]
}
}
)}
如果您设置了适当的关联 那么这也将起作用:
db.user.findAll({
include : [{
model : umi
where : { pid : 10 }
}]
)};
关于node.js - 如何在 Sequelize 中用 "in"制作 "subquery"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57448359/