I have the following SQL left join query to be converted to Pandas join.
select df1.pc, df1.si, df1.cat,
df2.cid As mid, df2.sd as md, df2.cid As bi, df2.sd as bd, sum(df1.sal) as Sal
from df1
left join df3
on df1.cat = df3.cd
left join df2
on df2.chd = df3.mid
and df1.id = df2.id
left join df3
on df1.cat = df3.cd
left join df2
on df2.chd = df3.bid
and df1.id = df2.id
group by df1.pc, df1.si, df1.cat, df2.cid, df2.sd, df2.cid, df2.sd ;
I tried the following code in pandas
final = pd.merge(
pd.merge(
pd.merge(df1, df3,how='left', left_on=['cat'], right_on=['cid']),
df2,how='left', left_on=['chd','id'], right_on=['mid','id']),
df3,how='left', left_on=['cat'], right_on=['cid']),
df2,how='left', left_on=['cid','id'], right_on=['bid','id'])
but some where I am getting wrong. Is this equivalent one? or any suggestions please suggest...struck here