2017-12-19 15 views
2

私は今、node.jsのsequelize.jsクエリとして書き直す必要があるSQLクエリを(DBとしてmysqlを使用して)持っています。SequelizeのSQLクエリを変換するにはどうすればよいですか?

このクエリはsequelizeと同じ結果を得るように構成する必要がどのようにSQLクエリ

SELECT p.UserID, SUM(p.score), u.username 
FROM Picks p 
LEFT JOIN Users u 
ON p.UserId = u.id 
GROUP BY p.UserId; 

かなり確実ではありません。

答えて

0

たぶん(私はあなたがすでにPicksUsersを関連付けると仮定)これを試してみてください、あなたはpick.user.usernameでuser.nameにアクセスすることができます。これはあなたが必要としている何をすべき

Picks.findAll({ 
    attributes: ['UserID', [sequelize.fn('SUM', 'score'), 'sumScore']] 
    groupBy: ['UserID'] 
    include: [ 
     model: Users 
    ] 
}); 
1

db.Pick.findAll({ 
    attributes: [ 
    'UserID', 
    [db.sequelize.fn('SUM', db.sequelize.col('score')), 'score'] 
    ], 
    include: [{ 
    model: db.User, 
    required: true, 
    attributes: ['username'] 
    }], 
    group: ['UserID'] 
}).then((results) => { 
    ... 
}) 
関連する問題