模型定义如下:
Team = sequelize.define 'team',
name: Sequelize.STRING
User = sequelize.define 'user',
name: Sequelize.STRING
foo: Sequelize.INTEGER
Team.hasMany User
User.belongsTo Team
如何让所有团队包含 foo
等于 42
的用户,而不包括结果中的用户,并且在结果中没有多次相同的团队,也就是说,如何生成以下查询?
SELECT DISTINCT team.id, team.name
FROM team
INNER JOIN user ON user.team_id = team.id
WHERE user.foo = 42
Edit :查询应为a raw query,即使用 findAll()
的 raw
选项 .
1 回答
要进行内连接,请在
find*
方法的include
选项中使用required = true . 怎么样DISTINCT - 你可以试试这个黑客: