感谢您的回答。
使用mysql 5.6,我有2个表。
基金
- 代码
- 姓名
- 等等
政策
- 代码
- 值(value)
- DOD(死亡日期)
- 等等
我正在尝试获取输出
- 姓名
- 该代码的值总和
- 该代码的值计数
- dod 为 null 的代码的值总和
- dod 为 null 的代码的值计数
这是不太有效的 SQL:
Select fund.code, value, ActValue, count, actcount
from fund
join(select code, sum(value)as value, count(code) as count from policy group by code) policy
join(select code, sum(value)as ActValue, count(code) as Actcount from policy where DOD is null group by code ) active
on fund.code = policy.code and fund.code = active.code
这给了我一个空结果。如果我在第二个连接中删除 where...,我会得到数据,但当然它只是重复保单总数。如何仅向第二个连接添加条件?
谢谢, 迈克。
编辑:谢谢 - 即使你们都正确,但不能同时调用两个答案。它现在在我的测试环境中工作,所以我认为它会在现场工作。
最佳答案
Select fund.code, value, ActValue, count, actcount
from fund
left join (select code, sum(value)as value, count(code) as count from policy group by code) policy on fund.code=policy.code
left join (select code, sum(value)as ActValue, count(code) as Actcount from policy where DOD is null group by code )on fund.code=active.code
关于mysql - 多个联接,其中之一包含条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20531940/