场景:我有2个查询表2表,只想将两个查询结果视为单个查询结果。如何从2个不同的表中获得结果?
详细说明:
表:loantrans
+-----+----------+---------+---------+---------+
| tid | date | account | purpose | out |
+-----+----------+---------+---------+---------+
| 1 |2014-08-12| 975 | Loan | 5000 |
| 2 |2014-08-12| 975 |Interest | 850 |
| 3 |2014-08-12| 975 | Loan | 150 |
| 4 |2014-08-12| 975 |Interest | 5000 |
+-----+----------+---------+---------+---------+
表:fdrtrans
+-----+----------+---------+---------+---------+
| tid | date | account | purpose | out |
+-----+----------+---------+---------+---------+
| 1 |2014-08-12| 975 | FDR | 5000 |
| 2 |2014-08-12| 975 |Interest | 850 |
| 3 |2014-08-12| 975 | FDR | 150 |
| 4 |2014-08-12| 975 | Deposit | 5000 |
+-----+----------+---------+---------+---------+
查询1:
SELECT MONTH(`loantrans`.`date`) as month, SUM(`loantrans`.`out`) AS loanout
FROM loantrans
WHERE (`loantrans`.`date` BETWEEN '2014-01-01' AND '2014-09-20')
AND (`loantrans`.`purpose` = 'Loan')
GROUP BY MONTH(`loantrans`.`date`)
ORDER BY `loantrans`.`date`
结果:
+-------+---------+
| month | loanout |
+-------+---------+
| 1 | 28000 |
| 2 | 27000 |
| 3 | 10200 |
| 4 | 7000 |
| 5 | 95000 |
| 6 | 2000 |
+-------+---------+
查询2:
SELECT MONTH(`fdrtrans`.`date`) as month, SUM(`fdrtrans`.`in`) AS fdr
FROM fdrtrans
WHERE (`fdrtrans`.`date` BETWEEN '2014-01-01' AND '2014-09-20')
AND (`fdrtrans`.`purpose` = 'FDR')
GROUP BY MONTH(`fdrtrans`.`date`)
ORDER BY `fdrtrans`.`date`
结果:
+-------+---------+
| month | fdr |
+-------+---------+
| 1 | 2000 |
| 2 | 750 |
| 3 | 200 |
| 4 | 180 |
| 5 | 570 |
| 6 | 625 |
+-------+---------+
我想要的是像
+-------+---------+---------+
| month | fdr | loanout |
+-------+---------+---------+
| 1 | 2000 | 28000 |
| 2 | 750 | 27000 |
| 3 | 200 | 10200 |
| 4 | 180 | 7000 |
| 5 | 570 | 95000 |
| 6 | 625 | 2000 |
+-------+---------+---------+
如何获得导致这样???
请为我正在寻找https://www.dropbox.com/s/kn8z7z4v7sbahf0/Capture4.PNG?dl=0 数据库更清晰的概念检查这个截图:https://www.dropbox.com/s/8gbgrgvil915efr/bankdb.sql_7.zip?dl=0
您的SQL语法错误;检查与您的MySQL服务器版本相对应的手册,以便在'q2 AS(SELECT MONTH('fdrtrans'.'date')'附近使用正确的语法','sum'('fdrtrans'.'in')AS fdr'at line 1 – Machine 2014-09-20 13:28:53