Наличие проблемы с записью отчета. Я пытаюсь рассчитывать на количество запросов. Выдано и прошло, у обоих у них есть поле даты datetime.Количество На основании 2 дат Диапазоны для 2 разных столбцов
Проблема, возникшая в результате, является неправильной.
Выполнение этого кода дает мне 126 за прошедший
SELECT COUNT(*) AS Passed FROM BPS.dbo.tbl_Profile AS p
Inner Join BPS.dbo.tbl_Profile_Mortgage AS pm
ON p.Id = pm.FK_ProfileId
WHERE p.CaseTypeId IN (1,2,9,15) AND CONVERT(DATE,pm.DatePassed,103) BETWEEN @Start AND @End
Когда я запускаю выданный запрос я получаю 223
SELECT COUNT(*) AS Issued FROM BPS.dbo.tbl_Profile AS p
Inner Join BPS.dbo.tbl_Profile_Mortgage AS pm
ON p.Id = pm.FK_ProfileId
WHERE p.CaseTypeId IN (1,2,9,15) AND CONVERT(DATE,pm.DateAppIssued,103) BETWEEN @Start AND @End
Эти цифры являются правильными, так что я положил его в одном запросе, как это.
SELECT COUNT(pm.DateAppIssued) AS Issued,COUNT(pm.DatePassed) AS Passed FROM BPS.dbo.tbl_Profile AS p
Inner Join BPS.dbo.tbl_Profile_Mortgage AS pm
ON p.Id = pm.FK_ProfileId
WHERE p.CaseTypeId IN (1,2,9,15)
AND (CONVERT(DATE,pm.DateAppIssued,103) BETWEEN @Start AND @End
OR CONVERT(DATE,pm.DatePassed,103) BETWEEN @Start AND @End)
Это дает мне Выдано 265 и прошел 185 Я попробовал много разных вариации, но до сих пор не могу получить правильные цифры Я надеюсь, что я объяснил это достаточно хорошо, любая помощь будет оценена. Rusty
Спасибо, VKP очень ценим, так что в основном ваша поговорка, если есть дата в выпуске или прошедшем, которая соответствует диапазону дат, тогда считайте, что 1. Это идеальное решение, я думал, что могу достичь этого в разделе where. Я собираюсь сохранить этот код для будущего использования, так как у меня есть такие отчеты. – RustyHamster