xheirt
@xheirt
Java, Python

Подсчёт кол-ва детей у сотрудников access?

По двум таблицам необходимо создать запрос на подсчёт у каждого сотрудника сколько детей. Вроде сделать это не сложно, но сколько не пытаюсь - не пойму как связать данные.
63ef21eb3be2c162381036.png
Думал может создать дополнительную таблицу, где будут , но это не рекомендуется. Подскажите пожалуйста - в каком направлении думать.
  • Вопрос задан
  • 205 просмотров
Решения вопроса 1
@alexalexes
Подскажите пожалуйста - в каком направлении думать.

Подтянуть знания:
1. Псевдонимы таблиц и полей в SQL.
2. Соединения таблиц (join, left/right/cross join).
3. Использование группировок в выборке.
4. Агрегирующие функции (count, max, min и т.д.).
В перспективе:
5. Оконные функции.
6. Подзапросы для получения скалярного значения (используется в секции select или в where)
7. Подзапросы в секции from
Select w.`Код`, w.`Фамилия`, w.`Имя`, w.`Отчество`, 
           count(ch.*) as Child_Count -- кол-во детей
           -- count(distinct ch.`Фамилия`, ch.`Имя`, ch.`Отчество`, ch.`Дата рождения`) as Child_Count -- кол-во детей по группе уникальных полей по таблице Дети, без использования идентификатора
from `Список` w
join `Дети` ch on ch.`КодСотрудника`  = w.`Код`
group by w.`Код`, w.`Фамилия`, w.`Имя`, w.`Отчество`
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
sharp97
@sharp97
не фонтан но брызги есть
Вот например у первого сотрудника посчитали, это по таблице с детьми , там где единичка код сотрудника подставишь и всё в принципе
SELECT
MAX(code_sotrudnika) AS Name,
COUNT(code_sotrudnika) AS Count

FROM
`deti` WHERE `code_sotrudnika` = 1
GROUP BY (code_sotrudnika)
Ответ написан
Комментировать
@Akina
Сетевой и системный админ, SQL-программист.
Неправильный тип связи. Должно быть "все записи из Список и только соответствующие из Дети".

Топнуть правым батоном точно в соединяющую линию, выбрать Параметры объединения. Итогово должна быть стрелка от Список к Дети.

После этого - группировка по всем полям из Список и количество из Дети.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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