mysql - Parallel 根据一个条件合并两个查询结果
问题描述
我有两个不同的查询,我想将第一个查询结果与第二个查询组合,但想添加 Overtime 列应该与第一个查询结果并行组合:第一个查询
SELECT count(PTPK)/2 TotalDays, PTPK, pro.Name as ProjectName FROM switch_person
left JOIN projects pro
ON pro.PK = PTPK
WHERE SwitchDate BETWEEN '2020-01-01' AND '2020-01-03'
AND PTPK <> 0
group by ptpk
第二个查询
SELECT PTPK, Sum(vpo.Option-1) TotalDaysWithOvertime from switch_person sp
Left JOIN vote_poll vp
ON vp.AskDate = sp.SwitchDate
Left JOin vote_poll_output vpo
ON vpo.QuesNo = VPPK
AND vpo.EmpPK = EmployeeNamePK
WHERE SwitchDate Between '2020-01-01' AND '2020-01-03'
AND vpo.Output = 'true'
and Half = 2
group by PTPK
基于 PTPK 将第一个查询结果与 sceond 组合,但将 TotaldaywithOvertime 并排添加到匹配 PTPK 的第一个查询结果。
解决方案
加入他们共同PTPK
列上的查询:
select q1.*, q2.TotalDaysWithOvertime
from (
<1st query here>
) q1 inner join (
<2nd query here>
) q2 on q2.PTPK = q1.PTPK
根据您的实际数据,您可能需要 aLEFT
或RIGHT
join 而不是INNER
.
推荐阅读
- javascript - date-fns 日期在 format() 之后不同
- c# - 无法反序列化 MVC App 中的当前 JSON 数组
- cuda - 是否可以重用 CUDA 内核?
- mysql - 需要将选定的值放入 json 对象中
- angular - 当我们在 html 中使用时,角度编译器如何解释 Pipe?
- c# - 您可以向 List() 添加索引以加快搜索速度吗
- vue.js - 在对象中推送唯一数组 | Vuejs
- java - 如何在用户进入活动特定时间后显示 Ad Mob 添加
- python - keras model.get_weight 未返回预期尺寸的结果
- java - 正则表达式模式从字符串中提取版本号