У меня следующий запрос: я хочу добавить свой запрос left join with CTE, как это сделать, пожалуйста, помогите мне, потому что у меня есть идентификатор драйвера, я хочу второй последний идентификатор драйвера, но я хочу добавить left join с КТРКак добавить левое соединение с CTE, проверить мой запрос
select d.Id,d.DriverNo,d.DriverName,TransId=dc.Id,dc.FromDate,dc.ToDate,dc.IsPaid,
Active=(case when (dc.weekoff is null or dc.weekoff=0) then 'Active' else 'Off' end),
Rent=(case when (IsNull(dc.CommissionTotal,0))> IsNull(dc.AccJobsTotal,0) then IsNull(dc.CommissionTotal,0)-(IsNull(dc.AccJobsTotal,0)) else 0 end),
BalanceDue=IsNull(dc.OldBalance,0),
AgentCommission=IsNull(dc.AgentFeesTotal,0),
PDA= (case when (dc.weekoff is null or dc.weekoff=0) then (IsNull(dc.PDARent,0)+IsNull(dc.CollectionDeliveryCharges,0)) else 0 end),
Total=(case when (IsNull(dc.CommissionTotal,0))> IsNull(dc.AccJobsTotal,0) then IsNull(dc.CommissionTotal,0)-(IsNull(dc.AccJobsTotal,0)) else 0 end)
+((IsNull(dc.OldBalance,0))
+((IsNull(dc.AgentFeesTotal,0)))
+(case when (dc.weekoff is null or dc.weekoff=0) then (IsNull(dc.PDARent,0)+IsNull(dc.CollectionDeliveryCharges,0)) else 0 end))
from Fleet_Driver d
inner join Fleet_DriverCommision dc
on d.Id=dc.DriverId
where dc.Id in (select Max(Id) from Fleet_DriverCommision
group by DriverId) as T1
left join on
> LEFT JOIN WITH CTE
With cte as
(select AgentFeesTotal,DriverId,Row_Number()over(Partition by DriverID order by Transdate desc) as Rn,
count(1)over(Partition by DriverID) as cnt from Fleet_DriverCommision)
Select AgentFeesTotal,DriverId
from cte
Where (Rn = 2 and cnt > 1) or (Rn = 1 and cnt = 1)
Это пример
с КТР как (выберите AgentFeesTotal, DriverId, ROW_NUMBER() над (раздел по DriverID порядке по Transdate Desc) как Rn, счетчик (1) по (Partition by DriverID) как cnt от Fleet_DriverCommision) Выбрать AgentFeesTo тал, DriverId от КТР Где (Rn = 2 и CNT> 1) или (R n = 1 и CNT = 1)
выберите t2.DriverNo из Fleet_Driver t2 влево присоединиться к КТР гр на c.DriverId = t2.Id
Просьба представить минимальный рабочий пример. – buhtz
с КТР как (выберите AgentFeesTotal, DriverId, ROW_NUMBER() над (раздел по DriverID порядке по Transdate Desc) в Rn, счетчик (1) по (Partition по DriverID) в качестве НКТ от Fleet_DriverCommision) Select AgentFeesTotal, DriverId от КТР Где (Rn = 2 и CNT> 1) или (R n = 1 и CNT = 1) выберите t2.DriverNo из Fleet_Driver t2 влево присоединиться к КТР гр на c.DriverId = t2.Id –