I think this error is coming because of the dateadd() function but im not sure. Can someone help me toi identify the issue and resolve it. I have casted to a particular date because it is the requirement for the report for which i have written this sp. Please help
ALTER PROCEDURE [dbo].[sp_SelectAllTrackingDetails]
@StrSearch AS VARCHAR(200) = ' CAST(L.NewDate AS datetime) >= CAST(''03/15/2008'' AS datetime)'
AS
CREATE TABLE #TempLeads(Date Datetime,LeadId INT)
INSERT INTO #TempLeads
SELECT DateSubmitted,UID
FROM WebPageDataCollection.dbo.HomeOwnerwebdata2
WHERE CAST(DateSubmitted AS datetime) >= CAST('03/15/2008' AS datetime)
EXEC('SELECT L.NewDate
, (SELECT COUNT(DISTINCT JOBUID) FROM tblLeadTrackingLog AS LTL WITH (NOLOCK) INNER JOIN #TempLeads TL WITH (NOLOCK) ON LTL.JobUid = TL.LeadId AND DATEDIFF(DD,L.NewDate,TL.Date)=0 WHERE (CONVERT(varchar(10), LTL.InsertDate, 101) = L.NewDate) AND LTL.LeadStatus=1) AS Generated
, (SELECT COUNT(DISTINCT JOBUID) FROM tblLeadTrackingLog AS LTL WITH (NOLOCK) INNER JOIN #TempLeads TL WITH (NOLOCK) ON LTL.JobUid = TL.LeadId AND DATEDIFF(DD,L.NewDate,TL.Date)=0 WHERE (CONVERT(varchar(10), LTL.InsertDate, 101) = L.NewDate) AND LTL.LeadStatus=3) AS Matched
, (SELECT COUNT(DISTINCT JOBUID) FROM tblLeadTrackingLog AS LTL WITH (NOLOCK) INNER JOIN #TempLeads TL WITH (NOLOCK) ON LTL.JobUid = TL.LeadId AND DATEDIFF(DD,L.NewDate,TL.Date)=0 WHERE (CONVERT(varchar(10), LTL.InsertDate, 101) = L.NewDate) AND LTL.LeadStatus=4) AS Notified
, (SELECT COUNT(DISTINCT JOBUID) FROM tblLeadTrackingLog AS LTL WITH (NOLOCK) INNER JOIN #TempLeads TL WITH (NOLOCK) ON LTL.JobUid = TL.LeadId AND DATEDIFF(DD,L.NewDate,TL.Date)=0 WHERE (CONVERT(varchar(10), LTL.InsertDate, 101) = L.NewDate) AND LTL.LeadStatus=5) AS Accepted
, (SELECT COUNT(DISTINCT JOBUID) FROM tblLeadTrackingLog AS LTL WITH (NOLOCK) INNER JOIN #TempLeads TL WITH (NOLOCK) ON LTL.JobUid = TL.LeadId AND DATEDIFF(DD,L.NewDate,TL.Date)=0 WHERE (CONVERT(varchar(10), LTL.InsertDate, 101) = L.NewDate) AND LTL.LeadStatus=6) AS Rejected
, (SELECT COUNT(DISTINCT JOBUID) FROM tblLeadTrackingLog AS LTL WITH (NOLOCK) INNER JOIN #TempLeads TL WITH (NOLOCK) ON LTL.JobUid = TL.LeadId AND DATEDIFF(DD,L.NewDate,TL.Date)=0 WHERE (CONVERT(varchar(10), LTL.InsertDate, 101) = L.NewDate) AND LTL.LeadStatus=12) AS Scheduled
, (SELECT COUNT(DISTINCT JOBUID) FROM tblLeadTrackingLog AS LTL WITH (NOLOCK) INNER JOIN #TempLeads TL WITH (NOLOCK) ON LTL.JobUid = TL.LeadId AND DATEDIFF(DD,L.NewDate,TL.Date)=0 WHERE (CONVERT(varchar(10), LTL.InsertDate, 101) = L.NewDate) AND LTL.LeadStatus=7) AS PreBidsPlaced
, (SELECT COUNT(DISTINCT JOBUID) FROM tblLeadTrackingLog AS LTL WITH (NOLOCK) INNER JOIN #TempLeads TL WITH (NOLOCK) ON LTL.JobUid = TL.LeadId AND DATEDIFF(DD,L.NewDate,TL.Date)=0 WHERE (CONVERT(varchar(10), LTL.InsertDate, 101) = L.NewDate) AND LTL.LeadStatus=8) AS PreBidsRejected
, (SELECT COUNT(DISTINCT JOBUID) FROM tblLeadTrackingLog AS LTL WITH (NOLOCK) INNER JOIN #TempLeads TL WITH (NOLOCK) ON LTL.JobUid = TL.LeadId AND DATEDIFF(DD,L.NewDate,TL.Date)=0 WHERE (CONVERT(varchar(10), LTL.InsertDate, 101) = L.NewDate) AND LTL.LeadStatus=9) AS BidsPlaced
, (SELECT COUNT(DISTINCT JOBUID) FROM tblLeadTrackingLog AS LTL WITH (NOLOCK) INNER JOIN #TempLeads TL WITH (NOLOCK) ON LTL.JobUid = TL.LeadId AND DATEDIFF(DD,L.NewDate,TL.Date)=0 WHERE (CONVERT(varchar(10), LTL.InsertDate, 101) = L.NewDate) AND LTL.LeadStatus=10) AS BidsRejected
, (SELECT COUNT(DISTINCT JOBUID) FROM tblLeadTrackingLog AS LTL WITH (NOLOCK) INNER JOIN #TempLeads TL WITH (NOLOCK) ON LTL.JobUid = TL.LeadId AND DATEDIFF(DD,L.NewDate,TL.Date)=0 WHERE (CONVERT(varchar(10), LTL.InsertDate, 101) = L.NewDate) AND LTL.LeadStatus=11) AS FeedBackReceived
, (SELECT COUNT(DISTINCT JOBUID) FROM tblLeadTrackingLog AS LTL WITH (NOLOCK) INNER JOIN #TempLeads TL WITH (NOLOCK) ON LTL.JobUid = TL.LeadId AND DATEDIFF(DD,L.NewDate,TL.Date)=0 WHERE (CONVERT(varchar(10), LTL.InsertDate, 101) = L.NewDate) AND LTL.LeadStatus=2) AS Deleted
FROM
(SELECT ROW_NUMBER() OVER (ORDER BY UID) AS RowNumber
, CONVERT(varchar(max), DATEADD(dd, 1 - (ROW_NUMBER() OVER (ORDER BY UID)), GETDATE()), 101) AS NewDate
FROM tblLeadTrackingLog) AS L
WHERE ' + @StrSearch + ' ORDER BY L.NewDate DESC') -- CAST(L.NewDate AS datetime) >= CAST('03/06/2008' AS datetime)
Aucun commentaire:
Enregistrer un commentaire