2016-01-13 12 views
0

我需要將SQL查詢轉換爲peewee指令。將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 

任何ideias?

tks。

+0

能否請你告訴我們的數據庫架構? – pneumatics

回答

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())) 
+0

tks。對我來說很完美。 – Rangel