Я, вероятно, пытался написать этот запрос 30 различными способами, и я просто не могу понять это.Вот проблема:
"Напишите запрос SQL, чтобы перечислить идентификатор записи и дату записи всех записей, которые появляются на всех компакт-дисках в таблице компакт-дисков. Запишите запрос, используя EXISTS.Columns должно быть rcdid иrcddate. "
Я не могу понять, как правильно это понять.Каждый запрос, который я делаю, просто перечисляет rcdid и rcddate всей таблицы записей, независимо от того, что.
Вот таблицы, которые могут (или могут) быть полезными:
CREATE TABLE label (
lbltitle varchar(50) not null,
lblstreet varchar(50) not null,
lblcity varchar(50) not null,
lblstate char(2) not null,
lblpostcode varchar(10) not null,
lblnation char(3) not null,
PRIMARY KEY(lbltitle));
CREATE TABLE cd (
cdid integer not null,
cdlblid varchar(50) not null,
cdtitle varchar(100) not null,
cdyear integer not null,
lbltitle varchar(50) not null,
PRIMARY KEY(cdid),
CONSTRAINT FOREIGN KEY(lbltitle) REFERENCES label(lbltitle));
CREATE TABLE composition (
compid integer not null,
comptitle varchar(100) not null,
compyear integer,
PRIMARY KEY(compid));
CREATE TABLE recording (
rcdid integer not null,
rcdlength decimal(4,2) not null,
rcddate date,
compid integer not null,
PRIMARY KEY(rcdid, compid),
CONSTRAINT FOREIGN KEY(compid) REFERENCES composition(compid));
CREATE TABLE track (
cdid integer not null,
trknum integer not null,
rcdid integer not null,
compid integer not null,
PRIMARY KEY(cdid, trknum),
CONSTRAINT FOREIGN KEY(cdid) REFERENCES cd(cdid),
FOREIGN KEY(rcdid, compid) REFERENCES recording(rcdid, compid));
Вот диаграмматаблицы, если это поможет: https://i.imgur.com/Qzr5EMl.png
И вот пара моих многочисленных попыток:
SELECT rcdid, rcddate FROM recording
WHERE EXISTS (
SELECT * FROM cd JOIN track ON cd.cdid = track.cdid);
SELECT recording.rcdid, rcddate FROM recording JOIN track
ON track.rcdid = recording.rcdid
WHERE EXISTS (
SELECT * FROM cd JOIN track on cd.cdid = track.cdid WHERE track.rcdid = recording.rcdid);
Как я уже сказал, каждый мой запрос извлекает информацию из каждой строки взапись таблицы, и я в полной растерянности.