Mysql 子查询同一个表:Sequelize
我有一个场景,我希望下面的查询使用sequelize执行Mysql 子查询同一个表:Sequelize,mysql,node.js,sequelize.js,Mysql,Node.js,Sequelize.js,我有一个场景,我希望下面的查询使用sequelize执行 Master.all({ where: {catg_level: '1'}, order: 'position ASC', include: [{ model: Master, as: 'sub-menu', where: {catg_level: '2'} }] }) .then(function(a){ try { console.log(JSON.stringify(a))
Master.all({
where: {catg_level: '1'},
order: 'position ASC',
include: [{
model: Master,
as: 'sub-menu',
where: {catg_level: '2'}
}]
})
.then(function(a){
try {
console.log(JSON.stringify(a));
} catch (e) {
console.log(e);
}
});
从catg_级别为1的主机中选择*并在“按位置顺序从catg_级别为2的主机中选择obj_id”中选择obj_id
我已经用sequelize编写了以下代码
Master.all({
where: {catg_level: '1'},
order: 'position ASC',
include: [{
model: Master,
as: 'sub-menu',
where: {catg_level: '2'}
}]
})
.then(function(a){
try {
console.log(JSON.stringify(a));
} catch (e) {
console.log(e);
}
});
SQL生成了这个
条件catg_level=2被添加到主查询中,而不是作为子查询添加。我知道这是实际的功能。但是有没有解决办法来完成这项工作呢?请告知
提前感谢。您可以使用sequelize.literal:
出于性能原因,我最好不要使用直接查询。有什么解决办法吗?