基本查询的聚合函数错误
Aggregate Function Error With Basic Query
我的数据库是基于电影院的,我正在尝试进行查询以显示每次电影放映所购买的门票数量。该查询涉及的table是Bookings、Screenings和Movies.
这是预订 table:
放映table:
和电影 table:
到目前为止,我已经设法将查询查询到能够显示每次放映的预订量的程度,但这并没有考虑到一个事实可能是购买了多张票单次预订,因此 预订数量:
中的 数量 列
这是让我走到这一步的 SQL 代码:
SELECT Count(Bookings.[Booking ID])
AS [Bookings Per Screening],
Bookings.[Screening ID],
Movies.Movie
FROM Movies
INNER JOIN (Screenings
INNER JOIN Bookings
ON
Screenings.[Screening ID] = Bookings.[Screening ID])
ON Movies.[Movie ID] = Screenings.[Movie ID]
GROUP BY
Bookings.[Screening ID], Movies.Movie,
Screenings.[Movie ID], Movies.[Movie ID];
但是当我尝试添加一个字段来计算每次放映购买的门票数量,而不是每次放映的预订量时,每次放映都会显示多行:
这是生成该代码的代码:
SELECT Count(Bookings.[Booking ID])
AS [Bookings Per Screening],
Bookings.[Screening ID],
Movies.Movie,
[Bookings Per Screening]*[Quantity] AS [Ticket Per Booking],
Bookings.Quantity
FROM Movies
INNER JOIN (Screenings
INNER JOIN Bookings
ON Screenings.[Screening ID] = Bookings.[Screening ID])
ON Movies.[Movie ID] = Screenings.[Movie ID]
GROUP BY Bookings.[Screening ID], Movies.Movie,
Screenings.[Movie ID], Movies.[Movie ID], Bookings.Quantity;
我必须做什么才能让它工作?
Movies.Quantity 和 SELECT 语句中的 [每次放映预订]*[数量] AS [每次放映门票] 之间似乎缺少 ,。
停止计算预订并乘以它们。
每一行都已经告诉你售出了多少票。
SELECT
[Screenings].[Screening Date],
[Screenings].[Screening Time],
[Movie].[Movie],
SUM([Bookings].[Quantity]) AS [Seats Bought]
FROM
[Bookings]
INNER JOIN
[Screenings]
ON [Bookings].[Screening ID] = [Screenings].[Screening ID]
INNER JOIN
[Movies]
ON [Movies].[Movie ID] = [Screenings].[Movie ID]
GROUP BY
[Screenings].[Screening Date],
[Screenings].[Screening Time],
[Movie].[Movie];
我的数据库是基于电影院的,我正在尝试进行查询以显示每次电影放映所购买的门票数量。该查询涉及的table是Bookings、Screenings和Movies.
这是预订 table:
放映table:
和电影 table:
到目前为止,我已经设法将查询查询到能够显示每次放映的预订量的程度,但这并没有考虑到一个事实可能是购买了多张票单次预订,因此 预订数量:
中的 数量 列这是让我走到这一步的 SQL 代码:
SELECT Count(Bookings.[Booking ID])
AS [Bookings Per Screening],
Bookings.[Screening ID],
Movies.Movie
FROM Movies
INNER JOIN (Screenings
INNER JOIN Bookings
ON
Screenings.[Screening ID] = Bookings.[Screening ID])
ON Movies.[Movie ID] = Screenings.[Movie ID]
GROUP BY
Bookings.[Screening ID], Movies.Movie,
Screenings.[Movie ID], Movies.[Movie ID];
但是当我尝试添加一个字段来计算每次放映购买的门票数量,而不是每次放映的预订量时,每次放映都会显示多行:
这是生成该代码的代码:
SELECT Count(Bookings.[Booking ID])
AS [Bookings Per Screening],
Bookings.[Screening ID],
Movies.Movie,
[Bookings Per Screening]*[Quantity] AS [Ticket Per Booking],
Bookings.Quantity
FROM Movies
INNER JOIN (Screenings
INNER JOIN Bookings
ON Screenings.[Screening ID] = Bookings.[Screening ID])
ON Movies.[Movie ID] = Screenings.[Movie ID]
GROUP BY Bookings.[Screening ID], Movies.Movie,
Screenings.[Movie ID], Movies.[Movie ID], Bookings.Quantity;
我必须做什么才能让它工作?
Movies.Quantity 和 SELECT 语句中的 [每次放映预订]*[数量] AS [每次放映门票] 之间似乎缺少 ,。
停止计算预订并乘以它们。
每一行都已经告诉你售出了多少票。
SELECT
[Screenings].[Screening Date],
[Screenings].[Screening Time],
[Movie].[Movie],
SUM([Bookings].[Quantity]) AS [Seats Bought]
FROM
[Bookings]
INNER JOIN
[Screenings]
ON [Bookings].[Screening ID] = [Screenings].[Screening ID]
INNER JOIN
[Movies]
ON [Movies].[Movie ID] = [Screenings].[Movie ID]
GROUP BY
[Screenings].[Screening Date],
[Screenings].[Screening Time],
[Movie].[Movie];