Как использовать выражение COUNT DISTINCT CASE в сопоставлении Sequelize ORM с базой данных MySQL?

Я новичок в Sequelize и пытаюсь написать эквивалентный запрос Sequelize в Node js для следующего оператора select MySQL.

SELECT date(Game.TournamentDate) Date,
       COUNT(DISTINCT CASE WHEN Game in('Ludo','Cricket') && (Player.Status in ('Active','Rest')) THEN Point END) Field1 ,
       COUNT(DISTINCT CASE WHEN Player.Code in('PLY1','PLY2') && (Player.Status = 'Sleeping') THEN Point END) Field2  
FROM Game 
       LEFT JOIN Player ON Game.ID = Player.ID 
WHERE Game.TournamentDate BETWEEN '" + dateFrom + "' AND DATE_ADD('" + dateTo + "',INTERVAL 1 day) 
GROUP BY date(Game.TournamentDate) 
ORDER BY date(Game.TournamentDate) 

** Запрос изменен для демонстрационных целей.

Я видел этот вопрос Как использовать выражение CASE WHEN в Sequelize? но я хочу знать функцию, близкую к Sequelize, но в случае, если нет простого или возможного способа сделать это в родном синтаксисе, пожалуйста, дайте мне знать значение следующего синтаксиса, где условие вопроса упоминается в ссылке.

Type: ['Employee', 'School', 'Public', 'Other']

person Ajendra Prasad    schedule 28.12.2018    source источник


Ответы (1)


Вы также можете использовать Raw Query в sequilize. Что-то вроде этого

sequelize.query("SELECT * FROM `users`", { type: sequelize.QueryTypes.SELECT}).then(users => {})

Проверьте это

person Er Mitul Parmar    schedule 28.12.2018