2016-05-09 47 views
0

我有两个表名为开支和捐赠试图获得并

表1

费用

s.no expensedate expense 
1  13/01/16   30 
2  15/01/16   60 

表慈善组织的费用捐赠的月度报告2

s.no donationdate donation 
15  14/01/16   30 
18  19/01/16   10 

Out Put required

Month  Expense Donation 
Jan   90   40 

我可以输出单独像

Month expense 
jan  90 

Month donation 
jan  40 

,但不能加入他们在一起,这样就可以给所需的输出。

THX

+0

您应该显示获取单个结果的查询。 –

+0

请张贴你的代码它会识别您的quesiton –

+0

选择 SUM(捐赠)AS捐赠, MONTHNAME(DonationDate)为月 从捐赠 WHERE月份(DonationDate)=月(CURRENT_DATE()) – saifpk

回答

1

我会做到这一点使用union allgroup by

select date_format(dte, '%Y-%m') as yyyymm, 
     coalesce(sum(expense), 0) as expenses, 
     coalesce(sum(donation), 0) as donations 
from ((select expensedate as dte, expense, null as donation 
     from expenses 
    ) union all 
     (select donationdate as dte, null, donation 
     from donations 
    ) 
    ) ed 
group by date_format(dte, '%Y-%m') 
order by yyyymm; 
0

我就应该首先对不起显示代码, 表1 选择 EXPDATE, 量的费用, ExpID 费用 产量: 2016-05-07 400 1 2016-05-08 6779 2

表2 SELECT DonationID, 捐赠, DonationDate FROM捐赠 输出: 1 1 2016年4月8日 2 200 2016年4月8日 3 1000 2016年5月7日 4 1200 2016 -04-08 5 1 2016年3月8日 6 500 2016年4月8日 7 1000 2016年5月8日

我不介意改变我的表以创建它们之间的关系,这使得它容易获得所需的输出。

所需的输出:

月捐赠支出 3月1日
1901年4月 2000年5月7179

您的查询就可以解决这个问题,但我不能嵌入我的情况下查询。 Thx