0

私はそれらの間に関係のない2つのテーブルを持っています。データを月ごとに表形式で表示したい。出力例を次に示します。

ここに画像の説明を入力

2つの異なるテーブルがあります

  • 収入のための1
  • 1 費用

問題は、これらの間に直接的な関係がないことです。それらの間の唯一の共通点は月(日付)です。そのようなレポートを生成する方法について誰か提案がありますか?

ここに私のユニオンクエリがあります:

    SELECT TO_DATE(TO_CHAR(PAY_DATE,'MON-YYYY'), 'MON-YYYY') , 'FEE RECEIPT',     NVL(SUM(SFP.AMOUNT_PAID),0) AMT_RECIEVED
FROM STU_FEE_PAYMENT SFP, STU_CLASS SC, CLASS C
WHERE SC.CLASS_ID = C.CLASS_ID
AND SFP.STUDENT_NO = SC.STUDENT_NO
AND PAY_DATE BETWEEN '01-JAN-2014' AND '31-DEC-2014' 
AND SFP.AMOUNT_PAID >0
GROUP BY  TO_CHAR(PAY_DATE,'MON-YYYY')
UNION 
SELECT TO_DATE(TO_CHAR(EXP_DATE,'MON-YYYY'), 'MON-YYYY') , ET.DESCRIPTION,  SUM(EXP_AMOUNT)
FROM EXP_DETAIL ED, EXP_TYPE ET, EXP_TYPE_DETAIL ETD
WHERE ET.EXP_ID = ETD.EXP_ID
AND ED.EXP_ID = ET.EXP_ID
AND ED.EXP_DETAIL_ID = ETD.EXP_DETAIL_ID
AND EXP_DATE BETWEEN '01-JAN-2014' AND '31-DEC-2014' 
GROUP BY TO_CHAR(EXP_DATE,'MON-YYYY'), ET.DESCRIPTION
ORDER BY 1

よろしく:

4

2 に答える 2

1

sqlite> テーブル収入を作成します (月のテキスト、total_income real);

sqlite> create table Expense(Month text, total_expense real);

sqlite> insert into Income values('Jan 2014', 9000);

sqlite> 収入の値に挿入します('2014 年 2 月', 6000);

sqlite> 経費の値に挿入します('2014 年 1 月', 9000);

sqlite> 経費の値に挿入します('2014 年 2 月', 18000);

sqlite> 収入.月、収入.合計収入、費用.合計_費用、収入.合計_収入 - 費用.合計_費用を収入、費用の収支として選択します。ここで、収入.月 == 費用.月

2014 年 1 月|9000.0|9000.0|0.0

2014 年 2 月|6000.0|18000.0|-12000.0

于 2014-08-20T03:58:23.913 に答える