IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

> SQL несколько LEFT join ?
Rian
сообщение 14.04.2011 16:06
Сообщение #1


Знаток
****

Группа: Пользователи
Сообщений: 394
Пол: Мужской

Репутация: -  9  +


сдраствуйте например есть таблицаЖ

студенты
-математика
-физика
-чистописание
-пение
-музыка

и в каждой оценки за год
нужно сделать итоговою, в которой будет выведена информация о всех студентах и средний бал для каждого предмета

------------- математика--------физика----------чистописание
---------------------------------------------------------------------
иванов -----------5--------------- - --------------------3--------
---------------------------------------------------------------------
петров-------------6---------------7-------------------- - -------
для одной подчиненной таблицы LEFT JOIN нормально делает а больше начинает множить записи...
как правильно делать
я пробую

users LEFT JOIN (мат LEFT JOIN физ LEFT JOIN чист) on users.id

Сообщение отредактировано: Rian - 14.04.2011 16:07


--------------------
Objective-C, Unity3d
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
volvo
сообщение 15.04.2011 12:46
Сообщение #2


Гость






Где-то в вопросе было указано про сложение или вычисление среднего? Не было. Даже если так. Вот так - все оценки по пользователям суммируются:

SQL
SELECT users.name, Sum(math.mark) AS SumOfmark, Sum(physics.mark) AS SumOfmark1,
Sum(russian.mark) AS SumOfmark2
FROM ((users LEFT JOIN math ON users.ID = math.userID) LEFT JOIN russian ON users.ID = russian.userID)
LEFT JOIN physics ON users.ID = physics.userID
GROUP BY users.name;

Где множит записи?
Прикрепленное изображение

Вот так - среднее:
SQL
SELECT users.name, Avg(math.mark) AS AvgOfmark, Avg(physics.mark) AS AvgOfmark1,
Avg(russian.mark) AS AvgOfmark2
FROM ((users LEFT JOIN math ON users.ID = math.userID) LEFT JOIN russian ON users.ID = russian.userID)
LEFT JOIN physics ON users.ID = physics.userID
GROUP BY users.name;
Опять множит?
Прикрепленное изображение
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 24.07.2025 2:06
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"