我需要将SQL查询转换为peewee指令。
我的SQL是:
SELECT
(IFNULL(SUM(`conquista`.`pontos`), 0) + SUM(`statusfase`.`pontos`)) AS `total_pontos`,
`jogador`.`id` AS `usuario_id`
FROM
((`jogador`
LEFT JOIN `conquista` ON ((`jogador`.`id` = `conquista`.`usuario_id`)))
JOIN `statusfase` ON ((`jogador`.`id` = `statusfase`.`usuario_id`)))
GROUP BY `jogador`.`id`
ORDER BY `total_pontos` DESC
任何想法?
TKS。
答案 0 :(得分:0)
我会开枪:
(Jogador
.select(
(fn.IFNULL(fn.SUM(Conquista.pontos), 0) +
fn.SUM(StatusFase.pontos)).alias('total_pontos'),
Jogador.id.alias('usuario_id'))
.join(Conquista, JOIN.LEFT_OUTER, on=(Jogador.id == Conquista.usuario))
.switch(Jogador)
.join(StatusFase, on=(Jogador.id == StatusFase.usuario))
.group_by(Jogador.id)
.order_by(SQL('total_pontos').desc()))