我正在处理两个类似于下表的表,请帮我查询,得到类似于第三个表的结果。 tnx提前。
Table_Plan
JobID Work_A WorkA_Plan_Hrs Work_B WorkB_Plan_Hrs
1111 1111-a 20 1111-b 30
2222 2222-a 25 2222-b 50
Table_Actual
JobID Work Actual_Hrs Finished
1111 1111-a 21 13:00
1111 1111-b 32 14:00
2222 2222-a 27 15:00
2222 2222-b 55 16:00
期望的结果
JobID Work_A WorkA_Plan_Hrs Work_B WorkB_Plan_Hrs Actual_A Actual_B Act_Finished_B Act_Finished_B
1111 1111-a 20 1111-b 30 21 32 13:00 14:00
2222 2222-a 25 2222-b 50 27 55 15:00 16:00
答案 0 :(得分:-1)
您可以使用两个lefts连接到table_actual
,一个用于Work_A
,一个用于Work_B
。
select
p.JobId
, p.Work_A
, p.WorkA_Plan_Hrs
, p.Work_B
, p.WorkB_Plan_Hrs
, a.Actual as Actual_A
, b.Actual as Actual_B
, a.Finished as Act_Finished_A
, b.Finished as Act_Finished_B
from table_plan p
left join table_actual a
on p.JobId = a.JobId
and p.Work_A = a.Work
left join table_actual b
on p.JobId = b.JobId
and p.Work_B = b.Work