@vadimstroganov

Как выбрать записи из двух таблиц?

Здравствуйте! Никак не могу вытащить нужную информацию в связке из базы.

Имеются три таблицы:

student
+------+----------+-----------+----------+
| id | firtName | lastName | average |
+------+----------+-----------+----------+
|---1---|--Сергей-|-Сидоров-|---4.77---|
+------+----------+-----------+----------+
|---2---|--Петр---|-Суворов--|----4.5---|
+------+----------+-----------+----------+ и т.д.

marks
+------------+------------+-------+
| student_id | course_id | mark |
+------------+------------+-------+
|-----1-------|------1-----|---5----|
+------------+------------+-------+
|-----1-------|------2-----|---4----|
+------------+------------+-------+
|-----1-------|------3-----|---2----|
+------------+------------+-------+
|-----2-------|------2-----|---3----|
+------------+------------+-------+
|-----2-------|------1-----|----3----|
+------------+------------+-------+
|-----2-------|------3-----|---4----|

Из этих таблиц нужно вывести данные в таком виде(причет только 10 человек, в порядке убывания average)

+------+----------+-----------+----------+--------------------------------+
| id | firtName | lastName | average | предмет - оценка +
+------+----------+-----------+----------+--------------------------------+
|---1---|-Сергей--|-Сидоров-|--4.77----|-1 - 5 2 -4 3 - 2 -|
+------+----------+-----------+----------+--------------------------------+
|---2---|---Петр--|-Суворов-|---4.5-----|-1 - 3 2 - 3 3 - 4 -|
+------+----------+-----------+----------+--------------------------------+

У меня получается выводить 10 человек в порядке убывания average, но никак не могу добавить к ним оценки.
SELECT * FROM student ORDER BY average DESC LIMIT 10


Буду благодарен за любую помощь!

UPD.
Сделал такой запрос:
SELECT * FROM student,marks WHERE student_id=id ORDER BY average DESC LIMIT 10


Но появляются дубликаты.. как от них избавиться? Должно остаться к первой записи, только то что обведено желтым
911e0a85939342f4a9b83260038dc5ae.png
  • Вопрос задан
  • 2339 просмотров
Пригласить эксперта
Ответы на вопрос 1
Попробуй сделать подзапрос в запросе. Погугли "подзапрос".

Ты делаешь это для сайта ?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы