CREATE TABLE BOOK( book_shifr INT PRIMARY KEY NOT NULL, book_name CHAR(30), author CHAR(60), create_year CHAR(6) )
CREATE TABLE ABONENT( abonent_shifr INT PRIMARY KEY NOT NULL, abonent_name CHAR(60), address CHAR(150) )
CREATE TABLE YCHET_KNIG( number INT PRIMARY KEY NOT NULL, book_shifr INT NOT NULL, abonent_shifr INT NOT NULL, CONSTRAINT YCHET_KING_BOOK FOREIGN KEY(book_shifr) REFERENCES BOOK(book_shifr) ON DELETE CASCADE ON UPDATE CASCADE, CONSTRAINT YCHET_KING_ABONENT FOREIGN KEY(abonent_shifr) REFERENCES ABONENT(abonent_shifr) ON DELETE CASCADE ON UPDATE CASCADE, date_give DATE, data_giveback DATE, data_today DATE, nalichie_vosvrata CHAR(4), shtraf INT )
INSERT INTO BOOK VALUES (11, 'Мастер и Маргарита', 'Михаил Булгаков', '1929'), (22, 'Собачье сердце', 'Михаил Булгаков', '1925'), (33, 'Мёртвые души', 'Николай Гоголь', '1842'), (44, 'Граф Монте-Кристо', 'Александр Дюма', '1844')
INSERT INTO ABONENT VALUES (111, 'Волков', 'Россия, Москва, ул. Тургеневская, д. 1'), (222, 'Устинов', 'Россия, Москва, ул. Брежская, д. 23'), (333, 'Масленников', 'Россия, Москва, ул. Набережная, д. 11')
Нужно сделать запрос - abonent_shifr, shtraf из таблицы ychet_knig, где nalichie_vosvrata = 'нет', при этом штраф должен расчитываться так - data_today - data_giveback, и потом каждый день "просрочки" должен умножаться на 0.5. Первая часть есть: SELECT abonent_shifr, shtraf FROM ychet_knig WHERE nalichie_vosvrata = 'нет' А остальное как запихнуть в запрос не совсем понятно
Первая часть есть:
SELECT abonent_shifr, shtraf FROM ychet_knig WHERE nalichie_vosvrata = 'нет'
А остальное как запихнуть в запрос не совсем понятно