I have created three tables
CREATE TABLE guest(
name varchar(100),
ranking int,
PRIMARY KEY (name)
);
CREATE TABLE room(
roomname varchar(100),
wallcolor varchar(100),
rating int,
PRIMARY KEY(roomnane)
);
CREATE TABLE reservation(
name varchar(100),
roomname varchar(100),
day varchar(100),
moveinday int,
moveoutday int,
PRIMARY KEY(roomname, day, start, finish),
FOREIGN KEY(roomname) REFERENCES room(roomname),
FOREIGN KEY(name) REFERENCES guest(name)
);
I am trying to write a query to find the guests who reserved EVERY "LakeView" room
I tried the following
SELECT g.name
FROM guest g, reservation r, room rr
WHERE rr.name = g.name
AND rr.roomname = "LakeView"
GROUP BY g.name
This does not seem to list out every room. How could I gix this?
Input:
insert into guest values ('Andrew', 1);
insert into guest values ('Jack', 4);
insert into guest values ('Jake', 4);
insert into room values ('LakeView', 'white', 10);
insert into room values ('BayView', 'blue', 4);
insert into reservation values ('Andrew', 'LakeView', 'Friday', 10,15);
insert into reservation values ('Jake', 'LakeView', 'Monday', 10,16);
insert into reservation values ('Jack', ' BayView', 'Tuesday', 11,15);
Desired output is
Andrew
Jake