我有一个麻烦的SQL查询,我正在尝试使用 Entrinsik的线人。我希望Informer对我进行计算 结果使用javascript制作一个百分比。然而,线人缺乏 能够访问列中的数据(即我的总数) 所以我需要我的SQL查询来为我生成这个。结果 目前看起来像这样:
refund_code refund_amount month_group
----------- ------------- -----------
ref1 10 january
ref2 20 january
ref3 30 january
ref1 40 february
ref2 50 february
ref3 60 february
我想要的是这样的:
refund_code refund_amount month_group month_total
----------- ------------- ----------- -----------
ref1 10 january 60
ref2 20 january 60
ref3 30 january 60
ref1 40 february 150
ref2 50 february 150
ref3 60 february 150
我的查询如下:
SELECT mr.month_group,
bd.transaction_code AS refund_code,
SUM(bd.extended) AS refund_amount
FROM billing_details AS bd
LEFT JOIN monthly_ranges AS mr
ON ( bd.entry_date BETWEEN mr.start_date AND mr.end_date )
WHERE bd.transaction_code IN ( 'REFPRI', 'REFSEC', 'REFPT', 'REFREQPRI' )
AND bd.entry_date >= '2012-01-05'
GROUP BY mr.month_group, bd.transaction_code
ORDER BY mr.month_group, bd.transaction_code
第二个用于生成每月总计表的查询如下所示:
SELECT mr.month_group,
SUM(bd.extended) AS refund_amount
FROM billing_details AS bd
LEFT JOIN monthly_ranges AS mr
ON ( bd.entry_date BETWEEN mr.start_date AND mr.end_date )
WHERE bd.transaction_code IN ( 'REFPRI', 'REFSEC', 'REFPT', 'REFREQPRI' )
AND bd.entry_date >= '2012-01-05'
GROUP BY mr.month_group
ORDER BY mr.month_group
那么有没有办法将两者合并?
答案 0 :(得分:1)
从技术上讲,你可以将两者作为子查询加入。
即
SELECT m.refund_code, m.refund_amount, m.month_group, t.month_total
FROM (your refund query above) m
JOIN (your total query above) t
ON m.month_group = t.month_group
只需确保将“总查询”中的“refund_amount”重命名为“month_total”或类似内容。