У меня есть данные в 2 таблицах, и я хочу создать отчет.
Таблица A:
- tableAID (первичный ключ)
- имя
Таблица B:
- tableBID (первичный ключ)
- оценка
- tableAID (внешний ключ, ссылки на таблицу A)
В обеих таблицах есть гораздо больше, но они актуальныстолбцы.
Концептуально запрос, который я хочу выполнить:
select TableA.name, avg(TableB.grade) where TableB.tableAID = TableA.tableAID
Проблема, конечно, в том, что я использую функцию агрегирования (avg), и я могу переписатьэто так:
select avg(grade), tableAID from TableB group by tableAID
но тогда я получаю только идентификатор таблицы А, тогда как мне действительно нужен тот столбец имени, который появляется в таблице А, а не только идентификатор.
Возможно линаписать запрос, чтобы сделать это в одном операторе, или мне сначала нужно выполнить второй запрос, который я перечислил, получить список идентификаторов, а затем запросить каждую запись в таблице A для столбца имени ... мне кажется, я что-то упустилздесь очевидно, но я (вполне очевидно) не гуру sql ...