У меня проблема с завершением сложного запроса:
SQLString = "SELECT i.CONCOM,
COALESCE(SUM(CASE
WHEN C.CATEGORY_ID = '30' THEN 0
ELSE t.LOGMINS END), 0) AS TotalWithoutNew,
COALESCE(SUM(t.LOGMINS), 0) AS TotalAllId
FROM Inquiry AS i
INNER JOIN TIMELOG AS t ON t.INQUIRY_ID = i.INQUIRY_ID
INNER JOIN PROD AS P ON i.PROD_ID = P.PROD_ID
INNER JOIN CATEGORY AS C ON P.CATEGORY_ID = C.CATEGORY_ID
WHERE (DATEPART(m, ESCDATE) = " & objmonth & ")
AND (DATEPART(y, ESCDATE) = " & objyear & ")
GROUP BY i.CONCOM
ORDER BY concom ASC"
Запрос работает нормально без предложения where, но когда я помещаю в него предложение where, ничего не возвращается.ESCDATE
- это поле DATETIME.Сначала я подумал, что он передает не целые числа, а строки, и определенно передает целые числа.
Далее в сценарии ASP я использую Request.Querystring
, чтобы получить месяц и год, и я в основномхотите проверить по дате ESC, что она возвращает результаты только за месяц, указанный в указанном году.