Здравствуйте, я застрял в одном запросе SQL для моего задания и надеялся на какую-то помощь.Сложный запрос SQL Count
Мне нужно, чтобы получить идентификатор проекта для лучших выполненного проекта -The проекта, где (VERY_GOOD количества записей + ХОРОШО количество записей) - (VERY_BAD количество записей + BAD количество записей) является наибольшим
Моей схема и тестовые записи в базе данных (HSQLDB)
CREATE TABLE
PROJECT
(
ID IDENTITY NOT NULL PRIMARY KEY,
PROJECT_NAME VARCHAR(255) NOT NULL
);
CREATE TABLE
RECORD
(
ID IDENTITY NOT NULL PRIMARY KEY,
RESULT VARCHAR(255) NOT NULL,
);
CREATE TABLE
RECORD_PROJECT
(
PROJECT_ID INTEGER NOT NULL,
RECORD_ID INTEGER NOT NULL,
PRIMARY KEY(PROJECT_ID, RECORD_ID),
FOREIGN KEY (PROJECT_ID) REFERENCES PROJECT(ID) ON DELETE CASCADE,
FOREIGN KEY (RECORD_ID) REFERENCES RECORD(ID)
);
и тестовые данные:
INSERT INTO PROJECT (PROJECT_NAME) VALUES ('Bake a cake');
INSERT INTO PROJECT (PROJECT_NAME) VALUES ('Clean the house');
INSERT INTO RECORD (RESULT) VALUES ('GOOD');
INSERT INTO RECORD (RESULT) VALUES ('VERY_GOOD');
INSERT INTO RECORD (RESULT) VALUES ('VERY_GOOD');
INSERT INTO RECORD (RESULT) VALUES ('BAD');
INSERT INTO RECORD (RESULT) VALUES ('VERY_BAD');
INSERT INTO RECORD_PROJECT (PROJECT_ID, RECORD_ID) VALUES (0,0);
INSERT INTO RECORD_PROJECT (PROJECT_ID, RECORD_ID) VALUES (1,1);
INSERT INTO RECORD_PROJECT (PROJECT_ID, RECORD_ID) VALUES (1,2);
INSERT INTO RECORD_PROJECT (PROJECT_ID, RECORD_ID) VALUES (0,3);
INSERT INTO RECORD_PROJECT (PROJECT_ID, RECORD_ID) VALUES (1,4);
(я удалил неродственного FIEL ds из таблиц)
Итак, у меня есть 3 хорошие записи и 2 плохой, мне нужно будет получить проект с самым высоким рейтингом, который в соответствии с этим сейчас будет Очистите дом с 3 хороших рейтинга более чем 2 негатива для другого проекта.
Возможно, кто-то это понял бы, спасибо!
Вы должны использовать символ для record.result? –
IDENTITY? Это ново для меня – Strawberry
Запись - это твердое значение в базе данных, которое я также мог бы решить с помощью перечисления. Для результата мне просто нужен идентификатор проекта, который имеет лучшие результаты. – Vaelyr