十分なタイトルが思いつかなかったのですが、ここに質問があります。
私はアプリケーションにいくつかのテーブルを持っており、それらは他のものと一緒に電力会社の消費者のために毎月の請求書を生成します。具体的には、3つのテーブルが含まれます。1)消費者テーブル2)請求履歴テーブル3)料金表テーブル
さまざまなタイプの接続で消費されるユニットごとに異なる価格スラブがあります。たとえば、月に最大50ユニットを消費する国内接続は、月に50ユニットを消費する商用接続よりもかなり低い請求額になります。
構造はhttp://www.sqlfiddle.com/#!3/eeab6にあります
Consumersテーブルのapplication_natureフィールドは、COMMERCIALまたはDOMESTICの接続のタイプを定義します。
Billing_history2テーブルのpayment_statusは、請求書が支払われたかどうかを示すブール値を格納します。
このクエリを使用して、消費者の総消費量と延滞がある場合はそれを生成します。
SELECT BILLING_HISTORY2.CONSUMER_ID, count(reading) AS 'DEFAULT PERIOD', SUM(reading) AS 'Total Reading' from BILLING_HISTORY2 where payment_status=0 GROUP by billing_history2.CONSUMER_ID;
ここで私が欲しいのは、1)最後に支払われた請求書以降に消費された合計ユニットに基づいて毎月の請求書を生成することです。2)その月以降に消費された合計ユニットに基づいて、延滞金を追加した月次請求書。
助言がありますか。