Во-первых, позвольте мне сказать, что я не знаю, что вы делаете в этом запросе, поэтому мой ответ может оказаться не тем решением, которое вы ищете.Однако, если единственной проблемой, с которой вы столкнулись, является порядок соединения, почему бы не начать с зоны tz, а затем присоединиться к summ s в этом случае?
select
convert(varchar,dateadd(mi,tz.offset,cal.caldate),101) as caldate,
s.[off],
s.aban,
s.ans,
case when s.[off] - s.abn_in = 0 then 0 else 1 end as sla,
g.slgo
from
calend cal
cross join zone tz
left join summ s on cal.caldate = dateadd(mi,tz.offset,s.arrdate) and tz.id = s.arrdate
inner join gol g on g.id = cal.id
Соединение с зоной больше не осталось.... но было ли это важно?