powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Помогите с запросом, пожалуйста!
4 сообщений из 4, страница 1 из 1
Помогите с запросом, пожалуйста!
    #38496246
AntonyPavlov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток! Помогите, пожалуйста, со следующим запросом:
Отобрать фамилии авторов, все книги которых выходили только в бумажной обложке. Отсортировать по фамилии автора.
Таблицы: editions (isbn, book_id, edition, piublisher_id, publicatiuon, type), publishers (id, name, address), books(id, title, author_id, subject_id), authors(id, last_name, first_name).
Код: sql
1.
2.
3.
4.
5.
SELECT last_name, type 
FROM editions AS e INNER JOIN publishers AS p ON (e.publisher_id = p.id) INNER JOIN books AS b ON (e.book_id=b.id) INNER JOIN authors AS a ON 
(b.author_id=a.id) 
GROUP BY last_name, type HAVING type=’p’ 
ORDER BY last_name;


Проблема в том, что этот запрос выдает книги авторов, которые писали книги как в твердой, так и в мягкой обложке, а нужно только те, что писали Только в твёрдой.
...
Рейтинг: 0 / 0
Помогите с запросом, пожалуйста!
    #38496263
LeXa NalBat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SELECT last_name FROM ... -- все авторы
EXCEPT
SELECT last_name FROM ... -- у ктоторых есть книги не в бумажной обложке
...
Рейтинг: 0 / 0
Помогите с запросом, пожалуйста!
    #38496423
sld
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sld
Гость
Код: plsql
1.
2.
3.
4.
5.
SELECT last_name, type 
FROM editions AS e INNER JOIN publishers AS p ON (e.publisher_id = p.id and type=’p’ ) INNER JOIN books AS b ON (e.book_id=b.id) INNER JOIN authors AS a ON 
(b.author_id=a.id) 
GROUP BY last_name, type 
ORDER BY last_name;


а так не пойдет?
хотя GROUP BY наверное тоже просто на distinct можно заменить, не знай что насчёт быстродействия при этом правда
...
Рейтинг: 0 / 0
Помогите с запросом, пожалуйста!
    #38498207
LeXa NalBat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sld... INNER JOIN publishers AS p ON (... and type=’p’ ) ...
а так не пойдет?кажется, не пойдет. потому что вы выбираете авторов, у которых есть книги в мягкой обложке. но в эту выборку попадут и авторы, у которых есть книги как в мягкой обложе, так и в других. а последних надо исключить.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / PostgreSQL [игнор отключен] [закрыт для гостей] / Помогите с запросом, пожалуйста!
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]