我正在嘗試編寫一個查詢來檢查有多少座位已被填充,以及在屏幕中有多少座位留在一排電影中,但幾小時後想我仍然無法讓我周圍的頭,我已經嘗試了許多疑問改變where子句中,即使子查詢,每次我得到一些錯誤:(查詢來計算預訂和留在屏幕上的座位數
查詢我使用這個如下:
select
10 as [total seats in a row],
perName as [movie name],
seatRow as [seat row],
(filledSeats - 10) as [seats left in a row]
count(s.seatNo) filledSeats
FROM
seats as s inner join
tickets as t on s.seatNo = t.seatNo inner join
performances as p on t.perID = p.perID
where
screenNo = '2' AND
perName = '50 shades of Grey'
group by
perName
但即使這一個給我錯誤
樣本d ATA如下:
CREATE TABLE seats (
seatNo int IDENTITY (1,1) not null,
screenNo int,
screen varchar (20),
seatType Varchar (10),
seatRow varchar (5),
PRIMARY KEY (seatNo),
FOREIGN KEY (screenNo) REFERENCES screens
);
insert into seats values ('1','3', 'Normal', 'A');
insert into seats values ('1','3', 'Normal', 'B');
insert into seats values ('1','3', 'VIP', 'D');
insert into seats values ('1','1', 'Normal', 'F');
insert into seats values ('1','3', 'VIP', 'E');
insert into seats values ('1','2', 'VIP', 'C');
insert into seats values ('1','1', 'VIP', 'C');
insert into seats values ('2','2', 'Normal', 'D');
insert into seats values ('2','1', 'VIP', 'F');
insert into seats values ('2','2', 'Normal', 'B');
insert into seats values ('2','1', 'Normal', 'B');
insert into seats values ('2','2', 'VIP', 'B');
insert into seats values ('2','2', 'Normal', 'A');
insert into seats values ('3','2', 'VIP', 'B');
insert into seats values ('2','1', 'Normal', 'C');
insert into seats values ('3','3', 'Normal', 'E');
insert into seats values ('3','2', 'VIP', 'C');
insert into seats values ('3','3', 'VIP', 'A');
insert into seats values ('3','1', 'VIP', 'E');
insert into seats values ('3','1', 'Normal', 'D');
CREATE TABLE performances(
perID int IDENTITY (1,1)NOT NULL,
perName varchar (50),
perTime Time,
perDate Date,
perType varchar (20),
duration varchar (10),
screenNo int,
rating varchar (10),
location varchar (10),
PRIMARY KEY (perID),
);
insert into performances values ('50 Shades of Grey', '12:00', '2015-03-08', 'Movie', '2hrs', '3', 'PG', 'Chelmsford');
insert into performances values ('50 Shades of Grey', '15:00', '2015-02-20', 'Movie', '2hrs', '2', '18', 'Chelmsford');
insert into performances values ('50 Shades of Grey', '18:00', '2015-02-26', 'Movie', '2hrs', '3', '18', 'Chelmsford');
insert into performances values ('50 Shades of Grey', '21:00', '2015-03-28', 'Movie', '2hrs', '2', 'PG', 'Chelmsford');
insert into performances values ('Paddington', '12:00', '2015-03-26', 'Movie', '2:30hrs', '2', '18', 'Chelmsford');
insert into performances values ('Paddington', '15:00', '2015-03-03', 'Movie', '2:30hrs', '3', 'PG', 'Chelmsford');
insert into performances values ('Paddington', '18:00', '2015-02-02', 'Movie', '2:3hrs', '3', 'PG', 'Chelmsford');
insert into performances values ('Paddington', '21:00', '2015-03-31', 'Movie', '2:30hrs', '1', '18', 'Chelmsford');
insert into performances values ('Shakespeare', '12:00', '2015-02-25', 'Movie', '3hrs', '2', '18', 'Chelmsford');
insert into performances values ('Shakespeare', '15:00', '2015-02-06', 'Movie', '3hrs', '3', 'PG', 'Chelmsford');
insert into performances values ('Shakespeare', '18:00', '2015-02-13', 'Movie', '3hrs', '3', '18', 'Chelmsford');
insert into performances values ('Shakespeare', '21:00', '2015-01-09', 'Movie', '3hrs', '3', 'PG', 'Chelmsford');
insert into performances values ('Jupiter Ascending', '12:00', '2015-01-11', 'Movie', '2:3hrs', '1', '18', 'Chelmsford');
insert into performances values ('Jupiter Ascending', '15:00', '2015-01-19', 'Movie', '2:30hrs', '2', '18', 'Chelmsford');
insert into performances values ('Jupiter Ascending', '18:00', '2015-02-06', 'Movie', '2:3hrs', '3', 'PG', 'Chelmsford');
insert into performances values ('Jupiter Ascending', '21:00', '2015-01-02', 'Movie', '2:3hrs', '2', 'PG', 'Chelmsford');
insert into performances values ('50 Shades of Grey', '12:00', '2015-01-06', 'Movie', '2hrs', '1', '18', 'Chelmsford');
insert into performances values ('50 Shades of Grey', '15:00', '2015-03-28', 'Movie', '2hrs', '3', 'PG', 'Chelmsford');
insert into performances values ('50 Shades of Grey', '18:00', '2015-02-09', 'Movie', '2hrs', '2', 'PG', 'Chelmsford');
insert into performances values ('50 Shades of Grey', '21:00', '2015-02-06', 'Movie', '2hrs', '2', '18', 'Chelmsford');
CREATE TABLE bookings(
bookingID int IDENTITY (1,1) NOT NULL,
customerID int ,
clerkID varchar (20) ,
perID int,
ticketBooked int,
bookingDate Date,
bookingTime time,
bookingType varchar(20),
totalCost decimal(5,2),
PRIMARY KEY (bookingID),
FOREIGN KEY (customerID) REFERENCES customers,
FOREIGN Key (clerkID) REFERENCES clerks,
);
insert into bookings values (16, 'clerk04', 1, 2, '2015-02-24', '12:00', 'Normal', '20');
insert into bookings values (2, 'clerk02', 20,3, '2015-02-25', '15:00', 'Advance', '34');
insert into bookings values (10, 'clerk04', 3,5, '2015-02-17', '18:00', 'Advance', '75');
insert into bookings values (5, 'clerk01', 19,2, '2015-01-24', '21:00', 'Advance', '30');
insert into bookings values (13, 'clerk01', 4,1, '2015-02-05', '12:00', 'Normal', '10');
insert into bookings values (20, 'clerk04', 5,1,'2015-01-26', '15:00', 'Normal', '12');
insert into bookings values (4, 'clerk03', 6, 3,'2015-02-09', '18:00', 'Advance', '30');
insert into bookings values (1, 'clerk03', 2, 1,'2015-01-03', '21:00', 'Advance', '15');
insert into bookings values (17, 'clerk04', 3, 1,'2015-02-09', '12:00', 'Normal', '12');
insert into bookings values (9, 'clerk02', 18,2,'2015-02-02', '15:00', 'Advance', '20');
insert into bookings values (11, 'clerk01', 6,3,'2015-02-10', '18:00', 'Advance', '45');
insert into bookings values (18, 'clerk01',1 ,1,'2015-02-06', '21:00', 'Normal', '12');
insert into bookings values (8, 'clerk05', 5,2,'2015-01-13', '12:00', 'Advance', '20');
insert into bookings values (6, 'clerk02', 7,2,'2015-02-05', '15:00', 'Advance', '20');
insert into bookings values (10, 'clerk03', 8,1,'2015-02-14', '18:00', 'Normal', '15');
insert into bookings values (14, 'clerk01', 9,2,'2015-01-19', '21:00', 'Normal', '20');
insert into bookings values (7, 'clerk05', 10, 3,'2015-01-29', '12:00', 'Advance','34');
insert into bookings values (3, 'clerk01', 12, 1,'2015-02-18', '15:00', 'Normal', '12');
insert into bookings values (13, 'clerk02', 15,3,'2015-01-08', '18:00', 'Normal', '45');
insert into bookings values (19, 'clerk03', 6, 2,'2015-01-27', '21:00', 'Normal', '30');
CREATE Table tickets (
ticketNo int IDENTITY (1,1) Not Null,
bookingID int,
perID int,
seatNo int,
ticketType varchar(10),
ticketDate date,
ticketPrice decimal (4,2),
screen int,
perTime time,
PRIMARY KEY (ticketNo),
FOREIGN KEY (bookingID) REFERENCES bookings,
FOREIGN KEY (perID) REFERENCES performances,
FOREIGN KEY (seatNo) REFERENCES seats,
);
insert into tickets values (20, 1, 1,'Student', '2015-01-12', '10 ', '1', '15:00');
insert into tickets values (19, 7, 2,'VIP', '2015-01-11', '15', '2', '21:00');
insert into tickets values (18, 1, 3,'Adult', '2015-02-21', '12', '2', '15:00');
insert into tickets values (17, 19, 4,'Adult', '2015-03-25', '12', '1', '18:00');
您可以爲您的查詢引用的「票據」添加架構和示例數據嗎? – Bohemian 2015-04-06 10:28:09
喜波希米亞 請檢查我的帖子我已更新 – xack 2015-04-06 11:40:37