我查看了几篇相对的帖子,但我不知道如何将它们应用于我的情况。
SELECT [LeisureActivities].[dbo].[activities].[activityID],
[LeisureActivities].[dbo].[activities].[activityName],
[LeisureActivities].[dbo].[activities].[activityDate],
[LeisureActivities].[dbo].[activities].[activityPlaces],
[LeisureActivities].[dbo].[activities].[activityPrice],
SUM([LeisureActivities].[dbo].[bookings].[bookingPlaces]) AS 'bookingTotal',
SUM([LeisureActivities].[dbo].[tempbookings].[tempPlaces]) AS 'tempPlacesReserved'
FROM [LeisureActivities].[dbo].[activities],
[LeisureActivities].[dbo].[bookings],
[LeisureActivities].[dbo].[tempbookings]
WHERE ([LeisureActivities].[dbo].[activities].[activityID]=[LeisureActivities].[dbo].[bookings].[activityID]
AND [LeisureActivities].[dbo].[activities].[activityID]=[LeisureActivities].[dbo].[tempbookings].[tempActivityID])
AND [LeisureActivities].[dbo].[activities].[activityDate] > GetDate ()
GROUP BY [LeisureActivities].[dbo].[activities].[activityID],
[LeisureActivities].[dbo].[activities].[activityName],
[LeisureActivities].[dbo].[activities].[activityDate],
[LeisureActivities].[dbo].[activities].[activityPlaces],
[LeisureActivities].[dbo].[activities].[activityPrice];
如您所见,这指的是 3 个表activities
、bookings
和tempbookings
。该tempbookings
表还包含一个tempReservedDate
包含日期时间数据类型的字段,我只需要对 tempPlaces 进行 SUM 计算,以求和那些tempReservedDate
未来有的记录,过去的那些记录只是忽略(类似于我已经通过显示来控制活动只有那些具有未来日期的人)SUM 还需要按每个活动对它们进行分组。
我相信我需要在“WHERE”部分中添加类似
[LeisureActivities].[dbo].[tempbookings].[tempReservedDate] > GetDate ()
我只是不知道把它放在哪里使它工作而不将它应用于我的整个查询,因为它只需要应用于tempPlaces
.
我希望我已经设法解释了我的意思,但请询问它是否没有意义,尽管我知道您通常不会像我一样格式化它(使用 [] 等),但对于程序使用这些查询必须以这种特定格式完成。
任何帮助表示赞赏,谢谢。