在MSSQL中使用两个表:SQL - 限制按日期加入记录
一个表[CUSTOMER],其中包含有关捐助者的信息。 - 相关列:[CustID],[名称] 一张表[捐献],包含每次捐赠的记录。 - 相关列:[CustID],[金额],[日期] 这些表共享一个键[CustID]。
我想根据每个[客户ID]
SELECT DONATION.CUSTID
,PEOPLE.NAME
,SUM (DONATION.AMOUNT) as TOTAL_DONATION
FROM [dbo].[DONATION] INNER JOIN [dbo].[PEOPLE] ON DONATION.CUSTID = PEOPLE.CUSTID
GROUP BY
DONATION.CUSTID
,PEOPLE.NAME
HAVING SUM (DONATION.AMOUNT) > 100
这个查询来汇总[金额]工作正常,即使添加HAVING子句。
当我想限制捐款的日期聚集(添加到SELECT,GROUP BY和HAVING子句),但是...
SELECT DONATION.CUSTID
,PEOPLE.NAME,DONATION.DATE
,SUM (DONATION.AMOUNT) as TOTAL_DONATION
FROM [dbo].[DONATION] INNER JOIN [dbo].[PEOPLE] ON DONATION.CUSTID = PEOPLE.CUSTID
GROUP BY
DONATION.CUSTID
,PEOPLE.NAME
,DONATION.DATE
HAVING SUM (DONATION.AMOUNT) > 100
and DONATION.DATE > '1-1-2010'
查询不再返回总金额每个人的捐款,但返回个人捐款为每个人,符合HAVING标准。
如何执行此日期限制?我是如何加入或总结或....?谢谢。
这与“HAVING”中的DONATION.DATE具有相同的效果。只有在特定日期之后才会报告捐款,但是没有像第一个查询那样正确汇总捐款。因此,不要总共捐赠超过100美元的捐款,它会报告个人捐款,从而为一些捐助者提供多个列表。 – JDV72 2011-03-03 19:31:32
这样做,谢谢! – JDV72 2011-03-03 19:37:34