sql - 如何结合sql语句使其合二为一
问题描述
SELECT mem_id, sum(commission)
FROM `member_commission`
group by mem_id
SELECT mem_id, sum(crowdfund)
FROM `crowdfund`
group by mem_id
我想将这两个命令合二为一,然后按 mem_id 分组
+
我的两个表(member_commission,crowd fund)都有一个(datetime stamp - 记录日期和时间)列,它是 membecommission 中存在的时间列和众筹中的 distrbutedmonth ......我只想要本月的结果。 ..
datetime 列以这种格式记录日期和时间:2018-08-22 22:02:09
解决方案
一种方法使用union all
and group by
:
select mem_id, sum(commission), sum(crowdfund)
from ((select mc.mem_id, mc.commission, 0 as crowdfund
from member_commission mc
) union all
(select cf.mem_id, 0, cf.crowdfund
from crowdfund cf
)
) x
group by mem_id;
这很棘手,因为成员可能在任一表中——并且可能您仍然希望它们出现在结果集中。
推荐阅读
- javascript - 如果在 textarea 中找到 (http)、(https) 或 (www),如何禁用提交按钮
- python - 读取包含转义 unicode 的 JSON 时的 Mojibake - 错误地解码为 Latin-1?
- python-3.x - 使用 Python Boto3 忽略 S3 上传的默认 AWS KMS 加密
- angular - Angular HTTPClient 忽略标头
- sql - SQL Server 计算 2 次之间的持续时间(hh:mm 格式)
- google-apps-script - 错误行中的事件 ID,无法调用方法 deleteEvent
- android - SQLite 数据库通过适配器获取所有数据到 Recyclerview。(寻找首选项)
- python - Python 统计测试中 CSV 文件的 T 测试“KeyError”问题
- excel - Excel - 根据分隔符将值放在不同的列中
- ios - 当我尝试使用 @objc(newName) 重命名时,方法“”提供的错误“Objective-C 方法”:与要求的选择器不匹配