Как использовать выражение COUNT DISTINCT CASE в преобразовании Sequelize ORM в базу данных MySQL? - PullRequest
0 голосов
/ 28 декабря 2018

Я новичок в Sequelize и пытаюсь написать эквивалентный запрос Sequelize в Node js для следующего оператора выбора 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']

1 Ответ

0 голосов
/ 28 декабря 2018

Вы можете перейти на Raw Query, а также в sequilize.Примерно так

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...