gpt4 book ai didi

mysql - 如何将 2 个查询结果连接在一起?

转载 作者:太空宇宙 更新时间:2023-11-03 12:07:14 25 4
gpt4 key购买 nike

场景:我有 2 个查询表单 1 个表,只想将两个查询结果作为单个查询结果查看。

详细信息:表: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 |
+-----+----------+---------+---------+---------+

查询 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(`loantrans`.`date`) as month, SUM(`loantrans`.`out`) AS intout
FROM loantrans
WHERE (`loantrans`.`date` BETWEEN '2014-01-01' AND '2014-09-20')
AND (`loantrans`.`purpose` = 'Interest')
GROUP BY MONTH(`loantrans`.`date`)
ORDER BY `loantrans`.`date`

结果:

+-------+---------+
| month | intout |
+-------+---------+
| 1 | 2000 |
| 2 | 750 |
| 3 | 200 |
| 4 | 180 |
| 5 | 570 |
| 6 | 625 |
+-------+---------+

我想要的是这样的

+-------+---------+---------+
| month | intout | loanout |
+-------+---------+---------+
| 1 | 2000 | 28000 |
| 2 | 750 | 27000 |
| 3 | 200 | 10200 |
| 4 | 180 | 7000 |
| 5 | 570 | 95000 |
| 6 | 625 | 2000 |
+-------+---------+---------+

如何得到这样的结果???

请查看此屏幕截图以更清楚地了解我在寻找什么 https://www.dropbox.com/s/dpptqb7y4c6xzi5/Capture3.PNG?dl=0数据库: https://www.dropbox.com/s/8gbgrgvil915efr/bankdb.sql_7.zip?dl=0

最佳答案

  SELECT MONTH(lt.date) month, 
SUM((lt.purpose='Interest')*lt.out) intout,
SUM((lt.purpose='Loan')*lt.out) loanout
FROM loantrans lt
WHERE lt.date BETWEEN '2014-01-01' AND '2014-09-20'
/* AND lt.purpose IN ('Interest', 'Loan') /* If you have more purposes. */
GROUP BY month
ORDER BY month

关于mysql - 如何将 2 个查询结果连接在一起?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25940927/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com