0

我已经构建了这个查询来给我一个列表,其中列出了每个 COD_ZONA 在当月完成了多少 IMPORTE。日期由 FECHA_EMIS 指示,COD_CLIENT 是两个表之间的链接。

SELECT GVA12.FECHA_EMIS, GVA12.IMPORTE, GVA14.COD_ZONA
FROM GVA12 INNER JOIN GVA14 ON GVA12.COD_CLIENT = GVA14.COD_CLIENT
GROUP BY GVA12.FECHA_EMIS, GVA12.IMPORTE, GVA14.COD_ZONA
HAVING (((GVA12.FECHA_EMIS)=Month(curDate())));

它给出了一个空表。


@bluefeet 这就是我想要的决赛桌

COD_ZONA            IMPORTE
1                   1457.56
16                  127.45
4

2 回答 2

1

听起来您需要使用此功能,并将该Month()功能应用于 theGVA12.FECHA_EMIScurDate()

SELECT GVA12.FECHA_EMIS, GVA12.IMPORTE, GVA14.COD_ZONA
FROM GVA12 INNER JOIN GVA14 
  ON GVA12.COD_CLIENT = GVA14.COD_CLIENT
WHERE Month(GVA12.FECHA_EMIS)=Month(curDate())
GROUP BY GVA12.FECHA_EMIS, GVA12.IMPORTE, GVA14.COD_ZONA

如果你想比较月份和年份,那么我会使用:

SELECT GVA12.FECHA_EMIS, GVA12.IMPORTE, GVA14.COD_ZONA
FROM GVA12 INNER JOIN GVA14 
  ON GVA12.COD_CLIENT = GVA14.COD_CLIENT
WHERE Month(GVA12.FECHA_EMIS)=Month(curDate())
  AND Year(GVA12.FECHA_EMIS)=Year(curDate())
GROUP BY GVA12.FECHA_EMIS, GVA12.IMPORTE, GVA14.COD_ZONA

这将确保月份和年份相等。

如果你想要一个sum()然后你会使用:

SELECT GVA14.COD_ZONA, sum(GVA12.IMPORTE)
FROM GVA12 INNER JOIN GVA14 
  ON GVA12.COD_CLIENT = GVA14.COD_CLIENT
WHERE Month(GVA12.FECHA_EMIS)=Month(curDate())
  AND Year(GVA12.FECHA_EMIS)=Year(curDate())
GROUP BY GVA14.COD_ZONA
于 2012-12-06T12:55:47.133 回答
0

GVA12.FECHA_EMIS 存储月份还是完整日期?您正在与当前月份进行比较。

HAVING (((GVA12.FECHA_EMIS)=Month(curDate())));
于 2012-12-06T12:43:36.790 回答