0

我有这个代码:

SELECT Jmeno, COUNT(Ucast)
  FROM Hraci
 INNER JOIN Ucast_Zapas ON Ucast_Zapas.ID_Hrace_zapas=Hraci.IDHrace
 INNER JOIN Zapas ON Zapas.ID_zapas=Ucast_Zapas.ID_zapasu_ucast
 INNER JOIN Kategorie ON Kategorie.IDkategorie=Zapas.Kategorie_zapas
 WHERE (Ucast=1)
   AND (Kategorie.IDkategorie=1)
   AND (datepart(year, Zapas_Datum) = '2013')
   AND (datepart(MONTH, Zapas_Datum) BETWEEN 1 AND 5) 
GROUP BY Jmeno;

当我想要 2013 年 8.-12.month 和 2014 年 1.-8.month 时,我想写什么?

4

1 回答 1

0

如果我正确理解您的要求,您想返回 ZAPAS_Datum 字段介于 8/2013 和 8/2014 之间的所有记录吗?如果是这样,那么这应该工作:

SELECT Jmeno, COUNT(Ucast)
  FROM Hraci
 INNER JOIN Ucast_Zapas ON Ucast_Zapas.ID_Hrace_zapas=Hraci.IDHrace
 INNER JOIN Zapas ON Zapas.ID_zapas=Ucast_Zapas.ID_zapasu_ucast
 INNER JOIN Kategorie ON Kategorie.IDkategorie=Zapas.Kategorie_zapas
 WHERE (Ucast=1)
   AND (Kategorie.IDkategorie=1)
   AND Zapas_Datum >= '8/1/2013' 
   AND Zapas_Datum < '9/1/2014' 
GROUP BY Jmeno;

顺便说一句——根据您的 RDBMS,您可能需要以不同于上面的方式格式化您的日期。

于 2013-03-29T13:33:30.477 回答