【发布时间】:2020-07-21 19:55:48
【问题描述】:
查询后我想获取 account_move_line.balance AS ammounteur 的 SUM 当 account_id、partner_id、invoice_id 和 account_account.code =
SELECT
account_move_line.name, account_move_line.account_id,
account_move_line.partner_id, account_move_line.invoice_id,
account_move_line.journal_id,
CASE
WHEN account_account.code LIKE '40%%'
THEN '400000'
WHEN account_account.code LIKE '44%%'
THEN '440000'
ELSE account_account.code
END AS ACCOUNTGL,
CASE
WHEN account_account.code = '702000'
THEN SUM(account_move_line.balance)
ELSE (round(account_move_line.balance, 2))
END AS AMOUNTEUR
FROM
public.account_move_line
JOIN
account_account ON (account_account.id = account_move_line.account_id)
WHERE
(account_move_line.date BETWEEN '2020-03-01' AND '2020-03-31')
GROUP BY
account_move_line.account_id, account_move_line.partner_id,
account_move_line.invoice_id, account_move_line.journal_id,
account_account.code, account_move_line.balance, account_move_line.name
ORDER BY
account_move_line.account_id, account_move_line.invoice_id;
我得到的结果:
NAME account_id Partner_id Invoice_id J_id accountgl amounteur
"Taxe led" 186 2476 1883 1 "702000" -0.83
"Taxe eclairage" 186 2476 1883 1 "702000" -0.11
"Taxe gros et petit blanc" 186 3090 1884 1 "702000" -0.83
"Taxe eclairage" 186 2077 1885 1 "702000" 0.25
"Taxe eclairage" 186 2077 1887 1 "702000" -0.25
"Taxe eclairage" 186 2077 1888 1 "702000" -0.02
"Taxe led" 186 2481 1916 1 "702000" -0.83
"Taxe eclairage" 186 2481 1916 1 "702000" -0.52
我期待
NAME account_id Partner_id Invoice_id J_id accountgl amounteur
186 2476 1883 1 "702000" -0.94
"Taxe gros et petit blanc" 186 3090 1884 1 "702000" -0.83
"Taxe eclairage" 186 2077 1885 1 "702000" 0.25
"Taxe eclairage" 186 2077 1887 1 "702000" -0.25
"Taxe eclairage" 186 2077 1888 1 "702000" -0.02
186 2481 1916 1 "702000" -1.35
谢谢
【问题讨论】:
标签: postgresql group-by sum case odoo