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 月と 2014 年 1 ~ 8 月が必要な場合、何を書きたいですか?

4

1 に答える 1

0

あなたの要件が正しいことを理解していれば、ZAPAS_Datum フィールドが 2013 年 8 月から 2014 年 8 月の間にあるすべてのレコードを返したいですか? もしそうなら、これはうまくいくはずです:

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 に答える