Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Помогите пожалуйста разобраться с домашкой по SQL

Sabik Mextiyev Ученик (44), на голосовании 3 года назад
Задание такое
Вывести количество книг, взятых в библиотеке программистами по тематикам "Программирование" и "Базы данных", и сумму страниц в этих книгах (2 способа)
Вот 1й способ (второй тоже сделал но сейчас главное это)
SELECT DISTINCT COUNT(Books.Id), SUM(Pages)
FROM Books
JOIN S_Cards ON S_Cards.Id_Book = Books.Id
WHERE Id_Themes IN (SELECT Id FROM Themes WHERE [Name] = 'Программирование' OR [NAME] = 'Базы данных')
GROUP BY Id_Themes (1й скриншот)

Я решил сделать запрос по другому и проверить правильно ли
SELECT Books.Id, Books.[Name], Books.Pages, Books.Id_Themes, S_Cards.Id, S_Cards.Id_Book
FROM Books
JOIN S_Cards ON S_Cards.Id_Book = Books.Id
WHERE Id_Themes IN (SELECT Id FROM Themes WHERE [Name] = 'Программирование' OR [NAME] = 'Базы данных')
И вот с чем столкнулся (2й скриншот)
Айди книг у меня повторяются. Как думаете это правильно? Если да то хорошо если нет то как мне убрать эти повторы? Я пытался написать туда DISTINCT но не получилось.
Голосование за лучший ответ
Jurijus Zaksas Искусственный Интеллект (445796) 3 года назад
> Как думаете это правильно?
Это совершенно неважно в данном контексте, поскольку запрос не соответствует заданию:

>Вывести количество книг <...> и сумму страниц в этих книгах

Нахрена ж ты выводишь что-то еще?
Sabik MextiyevУченик (44) 3 года назад
Так на 1м фото количество книг и сумма страниц этих книг.
Похожие вопросы