带 SUM 的 CASE 语句
CASE Statement with a SUM
这是我的 table 结构。
===================================
main_section | currency | amount
===================================
Tender INR 2000
Bank USD 3000
Tender INR 1500
Tender INR 1850
===================================
我正在尝试做一个 CASE 语句,其中如果 'main_section=tender' 它应该 return 投标金额,如果它的银行它应该 return 银行金额。如果有不止一条记录,那么它应该求和 return 金额(这里 Tender 有不止一条记录)。谁能帮我这个。以下是我试过的案例陈述
CASE sum(com_payments.main_section
WHEN com_payments.main_section = 'Tender'
THEN main_tender = com_payments.amount
END AS maintender1)
CASE sum(com_payments.main_section
WHEN com_payments.main_section = 'Bank'
THEN main_bank = com_payments.amount
END AS mainbank1)
你必须做条件聚合:
SELECT SUM(CASE WHEN main_section = 'Tender' THEN amount END) AS maintender1,
SUM(CASE WHEN main_section = 'Bank' THEN amount END) AS mainbank1
FROM mytable
这是我的 table 结构。
===================================
main_section | currency | amount
===================================
Tender INR 2000
Bank USD 3000
Tender INR 1500
Tender INR 1850
===================================
我正在尝试做一个 CASE 语句,其中如果 'main_section=tender' 它应该 return 投标金额,如果它的银行它应该 return 银行金额。如果有不止一条记录,那么它应该求和 return 金额(这里 Tender 有不止一条记录)。谁能帮我这个。以下是我试过的案例陈述
CASE sum(com_payments.main_section
WHEN com_payments.main_section = 'Tender'
THEN main_tender = com_payments.amount
END AS maintender1)
CASE sum(com_payments.main_section
WHEN com_payments.main_section = 'Bank'
THEN main_bank = com_payments.amount
END AS mainbank1)
你必须做条件聚合:
SELECT SUM(CASE WHEN main_section = 'Tender' THEN amount END) AS maintender1,
SUM(CASE WHEN main_section = 'Bank' THEN amount END) AS mainbank1
FROM mytable