【发布时间】:2017-04-25 11:14:47
【问题描述】:
我不是最擅长 UML/数据库图,但以下希望展示我的数据库设计 (MsSQL)
我有一个“位置”表,其中有零到多个与其相关的托盘(一个位置有 0 到多个托盘)。但是,该位置可以是位置 x 或 y 这两种类型之一。此图对其进行了简化,但有许多不同类型的位置,每种类型的字段也非常不同。
我将 Sequelize 用作 ORM,并试图弄清楚如何执行特定查询。我想我很接近但很卡住。
我需要的是:
选择一个 LocationTypeX,其中“活动”为真,并且其对应的 Location 中的托盘少于 10 个。
以前我已经获得了所有“活动”为真的 LocationTypeX。包括位置和托盘(在位置上)并在代码中完成所有操作以确定哪个位置是相关的。然而,这将永远持续下去,因为有成千上万的位置和大量的货盘散布在其中。
我所追求的只是显示位置名称。这就对了。但是与上述条件匹配的位置名称。希望有人可以提供帮助?
目前为止
models.Location.findAll({
group: ['Location.id', 'Pallets.id'],
attributes: ['Location.id', 'Pallets.id', [models.sequelize.fn('COUNT',models.sequelize.col('Pallets.id')), 'PalletCount']],
include: [{
model: models.Pallet,
attributes: []
}]
}).then((ret)=> {
console.log(ret);
});
但这不会进行“主动”检查。并且也不对托盘数量执行 where 子句。回到第一格
【问题讨论】:
-
运行 Sql profiler 并检查实际查询
-
@MikhailLobanov 为什么?我目前的查询还很遥远
-
对不起,我的英语不太好。 “远方”是什么意思?运行命令
models.Location.findAll({时没有sql查询?
标签: sql sql-server database sequelize.js