SELECT StudentID, Fname, LName, S_LessonNumber, LessonName, Date, Cost
FROM STUDENT_2
JOIN LESSON ON S_LessonNumber = LessonNumber
NATURAL JOIN STUDENT_1
WHERE StudentID = '1001'
Полученная таблица я получаю с этим запросом заключается в следующем,Как вернуть несколько строк при использовании функций Aggregate?
При попытке отобразить общую сумму, уплаченную, а также общее количество уроков, принятое, используя следующий запрос, я только возможность возврата одной строки.
SELECT StudentID, Fname, LName, S_LessonNumber, LessonName, Date,
Cost,COUNT(DISTINCT S_LessonNumber) , SUM(Cost)
FROM STUDENT_2
JOIN LESSON ON S_LessonNumber = LessonNumber
NATURAL JOIN STUDENT_1
WHERE StudentID = '1001'
Есть ли способ, что я могу вернуть все 4 строки со значениями для COUNT (DISTINCT S_LessonNumber) и SUM (цена) повторяется.
Нужный выход следующим образом:
StudentID FName LName S_LessonNumber LessonName Date Cost COUNT SUM
1001 Hannibal Lecter 7 C--- --- 15 4 60
1001 Hannibal Lecter 6 Wa-- --- 15 4 60
1001 Hannibal Lecter 5 Tri-- --- 15 4 60
1001 Hannibal Lecter 1 Cha- --- 15 4 60
Не используйте 'NATURAL JOIN'! Это ошибка, ожидающая своего появления. Явно покажу ключи, используемые для объединений, если вы хотите, чтобы запрос, который можно было обслуживать, и что другие люди могли понять. –
Вы можете попытаться использовать аналитическую функцию, если она доступна в MySQL. – dood
@ GordonLinoff Отмечено, спасибо. –