我遇到了复杂查询结束的问题:
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日期,它只会从指定年份中指定的月份返回结果。
答案 0 :(得分:4)
'y'说明符是一年中的一天,而不是一年。试试'yy'或'yyyy'。