Entrinsik の Informer を使用して作成しようとしている厄介な SQL クエリがあります。Informer で結果を計算して、javascript を使用してパーセンテージを計算してもらいたいです。ただし、Informer には列のデータ (つまり、パーセンテージの合計) にアクセスする機能がないため、これを生成するには 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
1 か月あたりの合計のテーブルを生成する 2 番目のクエリは、次のようになります。
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
それで、2つを組み合わせる方法はありますか?