我有一个simmelar的问题, 我想在以下查询中总结“totaal_inclusief_btw”: 有人可以帮我解决这个问题吗?无法理解。
表1(facturen)
factuur_id factuur_datum factuur_btw_weergave
---------------------------------------------------------------------------
1 2012-05-10 inclusief
2 2012-05-10 exclusief
Tabel 2(factuur_regels)
regel_id regel_factuur_id regel_aantal regel_bedrag regel_btw
---------------------------------------------------------------------------
18 1 1 40 19
19 1 2 40 6
20 2 1 40 19
21 2 2 40 6
使用以下查询:
SELECT
CASE
WHEN factuur_btw_weergave = 'inclusief'
THEN SUM(regel_bedrag*regel_aantal)
WHEN factuur_btw_weergave = 'exclusief'
THEN SUM(((regel_bedrag*regel_aantal)/100)*(100+regel_btw))
END
AS totaal_inclusief_btw,
SUM(totaal_inclusief_btw) AS new
FROM factuur_regels
INNER JOIN facturen ON factuur_id = regel_factuur_id
GROUP BY factuur_datum
我收到错误:
#1054 - Unknown column 'totaal_inclusief_btw' in 'field list'
当我离开第二个SUM“SUM(totaal_inclusief_btw)AS new”时:
SELECT
CASE WHEN factuur_btw_weergave = 'inclusief' THEN SUM(regel_bedrag*regel_aantal)
WHEN factuur_btw_weergave = 'exclusief' THEN SUM(((regel_bedrag*regel_aantal)/100)*(100+regel_btw))
END
AS totaal_inclusief_btw
FROM factuur_regels
LEFT JOIN facturen ON factuur_id = regel_factuur_id
WHERE factuur_datum = '2012-05-10'
GROUP BY factuur_datum
我会得到这个结果:
totaal_inclusief_btw:
240 (this needs to be 252,4)
当我按“factuur_id”分组时:
SELECT
CASE WHEN factuur_btw_weergave = 'inclusief' THEN SUM(regel_bedrag*regel_aantal)
WHEN factuur_btw_weergave = 'exclusief' THEN SUM(((regel_bedrag*regel_aantal)/100)*(100+regel_btw))
END
AS totaal_inclusief_btw
FROM factuur_regels
LEFT JOIN facturen ON factuur_id = regel_factuur_id
WHERE factuur_datum = '2012-05-10'
GROUP BY factuur_id
我会得到这个结果:
totaal_inclusief_btw:
120
132.4
我希望有人能帮我这个查询!谢谢你
答案 0 :(得分:1)
问题已解决
现在可以使用以下查询:
SELECT factuur_datum, SUM(totaal_inclusief_btw)
FROM (
SELECT factuur_datum,
CASE WHEN factuur_btw_weergave = 'inclusief' THEN SUM(regel_bedrag*regel_aantal)
WHEN factuur_btw_weergave = 'exclusief' THEN SUM(((regel_bedrag*regel_aantal)/100)*(100+regel_btw))
END
AS totaal_inclusief_btw
FROM factuur_regels
LEFT JOIN facturen ON factuur_id = regel_factuur_id
WHERE factuur_datum = '2012-05-10'
GROUP BY factuur_id
)q
此查询返回:252.4(正确)