Код ниже прекрасно работает как процедура.
Как я могу преобразовать или изменить один и тот же код ниже, чтобы он мог работать в представлении или как код представления или представление?
Могу ли я отказаться от просмотра?
ALTER proc [dbo].[NewOne_1]
as
begin
set nocount on
if object_ID('TEMPDB..#TableA') <> ''
drop table # TableA
select
*
into # TableA
from vd_View po
if object_ID('TEMPDB..#FirstSDate') is not null
drop table #FirstSDate
select
Pt_id = Pat_Id,
Date_of_First_Shipment = min(DeliveryDate)
into #FSDate
from # TableA po
group by Pat_Id
if object_ID('TEMPDB..#LastSDate') is not null
drop table #LastShipDate
select
Pt_id = Pat_Id,
Date_of_Last_Shipment = max(DeliveryDate)
into #LastShipDate
from # TableA po
group by Pat_Id
SELECT PtData.Pat_No Progress_Pat_ID
,C_S = case when dbo.fn_GetBusinessDays(firstship.Date_of_First_Shipment,LastShip.Date_of_Last_Shipment) > 80 then 'Yes'
when dbo.fn_GetBusinessDays(firstship.Date_of_First_Shipment,LastShip.Date_of_Last_Shipment) <= 80 then 'No'
else ''
end
,P_Last_Name = PtData.P_LName
,PtData.DReg Reg
FROM dbo.tbld_PatSum PtData
inner join vd_PSum ps
on PtData.P = ps.P_ID
inner join S_M.dbo.Pat__c ps1
on PtData.Pt_ID = ps1.Id
left join #FirstShipDate firstship
on PtData.Pt_ID = firstship.Pt_Id
left join #LastShipDate LastShip
on PtData.Pt_ID = LastShip.Pt_Id
WHERE PtData.Pat_No IS NOT NULL
AND PtData.ActiveStatus<>'Gen Info'
set nocount off
end