set ANSI_NULLS ON
set QUOTED_IDENTIFIER ON
go
ALTER proc [dbo].[ScurryDetailes]
(@DateBegin DateTime,
@DateEnd DateTime
)
as
begin
if object_id('tempdb..#tempCode') is not null
drop table #tempCode
--else
--print 'not exists!'
if object_id('tempdb..#tempcityid') is not null
drop table #tempcityid
--else
--print 'not exists!'
if object_id('tempdb..#ScurryDetailes') is not null
drop table #ScurryDetailes
--else
--print 'not exists!'
select Parent,Code into #tempCode from dbo.Codes where Code in
(select ProductCode from scurrygood)
select distinct dealcity.DealerId,dealcity.cityId,dealcity.Code1 into #tempcityid from
(select distinct cityId,DealerCities.DealerId,tempcode.code1 from dbo.DealerCities,-- where EXISTS--DealerCities.DealerId in
(select distinct Codes.DealerId,Codes.Code ,#tempCode.Code as code1
from dbo.Codes, #tempCode
where Codes.Code in
(
select distinct Parent from #tempCode
) and #tempCode.parent=Codes.Code
) as tempcode where DealerCities.DealerId=tempcode.DealerId
) as dealcity
select distinct Cities.Municipality,ScurryDetaile.ProductCode,ScurryDetaile.Mobile,ScurryDetaile.JoinTm,ScurryDetaile.DealerName,ScurryDetaile.Municipality as City
into #ScurryDetailes
from Cities,
(select * from
(select Distinct
ScurryGood.CityId,ScurryGood.ProductCode,ScurryGood.Mobile,ScurryGood.JoinTm,ScurryCity.DealerName,ScurryCity.CityId as CityId1,ScurryCity.Municipality
from ScurryGood,
(select Dealers.DealerName,TempDealerId.CityId,TempDealerId.Municipality,TempDealerId.Code1
from Dealers,
(select Cities.CityId,Cities.Municipality,#tempcityid.DealerId,#tempcityid.Code1
from dbo.Cities,#tempcityid
where #tempcityid.cityId=Cities.CityId
) as TempDealerId
where Dealers.DealerId=TempDealerId.DealerId
) as ScurryCity
where ScurryCity.Code1=ScurryGood.ProductCode
) as ScurryDetailes
where substring(cast(ScurryDetailes.CityId as varchar),1,4)<>substring(cast(ScurryDetailes.CityId1 as varchar),1,4)
) as ScurryDetaile
where substring(cast(Cities.CityId as varchar),1,4)=substring(cast(ScurryDetaile.CityId as varchar),1,4)
Delete dbo.DealertoCity
insert into DealertoCity (DealerName,City)
select distinct DealerName,City from #ScurryDetailes
Select aa.Municipality,aa.ProductCode,aa.Mobile,aa.JoinTm,aa.DealerName,aa.City,Codes.ProductName
from
(select distinct #ScurryDetailes.Municipality,#ScurryDetailes.ProductCode,#ScurryDetailes.Mobile,#ScurryDetailes.JoinTm,#ScurryDetailes.DealerName,CitysID.City
from #ScurryDetailes,
(SELECT distinct DealerName,City=dbo.f_str(DealerName)
FROM DealertoCity
GROUP BY DealerName) as CitysID
where CitysID.DealerName=#ScurryDetailes.DealerName and #ScurryDetailes.JoinTm between @DateBegin and @DateEnd
) as aa,Codes
where aa.ProductCode=Codes.Code
if object_id('tempdb..#tempCode') is not null
drop table #tempCode
--else
--print 'not exists!'
if object_id('tempdb..#tempcityid') is not null
drop table #tempcityid
--else
--print 'not exists!'
if object_id('tempdb..#ScurryDetailes') is not null
drop table #ScurryDetailes
--else
--print 'not exists!'
end |