powered by simpleCommunicator - 2.0.55     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Запрос, подсчитывающий количество записей определённого поля из 3-х таблиц
4 сообщений из 4, страница 1 из 1
Запрос, подсчитывающий количество записей определённого поля из 3-х таблиц
    #39299379
Vair_S
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день, уважаемые форумчане!
Очень прошу помощи в создании запроса. Есть таблица со списком работников. Она связана с 3-мя таблицами, каждая из которых является определённым разделом по учёту активности работника - Kaizen, BOS, OPL. Одна запись по работнику в каком то разделе является 1-й активностью. Мне надо по каждому работнику вывести количество активностей по каждому разделу. Запрос, который сделал:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
SELECT TblSpysokPracKaizBosOpl.ID_Spysok, TblSpysokPracKaizBosOpl.PIPTxt, 
Count(Tbl_Kaizen.PracivnykKaizenLng) AS CountKaizen, 
Count(Tbl_BOS.PracivnykBOSLng) AS CountBOS, 
Count(Tbl_OPL.PracivnykOPLLng) AS CountOPL
FROM ((TblSpysokPracKaizBosOpl LEFT JOIN Tbl_Kaizen 
ON TblSpysokPracKaizBosOpl.ID_Spysok = Tbl_Kaizen.PracivnykKaizenLng) LEFT JOIN Tbl_BOS 
ON TblSpysokPracKaizBosOpl.ID_Spysok = Tbl_BOS.PracivnykBOSLng) LEFT JOIN Tbl_OPL 
ON TblSpysokPracKaizBosOpl.ID_Spysok = Tbl_OPL.PracivnykOPLLng
GROUP BY TblSpysokPracKaizBosOpl.ID_Spysok, TblSpysokPracKaizBosOpl.PIPTxt;



выводит мне сумму всех трёх разделов по работнику.
Например:
Ф.И.О. Каizen BOS OPL
Иванов Иван Иванович 4 4 4
Петров Пётр Петрович 6 6 6

а мне надо:

Иванов Иван Иванович 1 2 1
Петров Пётр Петрович 2 3 1

Как нужно составить для этого запрос?
Заранее благодарен!!!
P.S. В приложенном файле Дизайнер этого запроса
...
Рейтинг: 0 / 0
Запрос, подсчитывающий количество записей определённого поля из 3-х таблиц
    #39299457
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сперва группируй и считай по отдельным таблицам, а уже полученные результаты привязывай к основной
...
Рейтинг: 0 / 0
Запрос, подсчитывающий количество записей определённого поля из 3-х таблиц
    #39299465
Вам надо использовать не таблицы, а подчиненные запросы, возвращающие количество записей по каждому сотруднику. Примерно так:
Код: sql
1.
2.
3.
4.
5.
6.
SELECT TblSpysokPracKaizBosOpl.ID_Spysok, TblSpysokPracKaizBosOpl.PIPTxt, 
Q_Kaizen.CountKaizen, Q_BOS.CountBOS, Q_OPL.CountOPL
FROM ((TblSpysokPracKaizBosOpl LEFT JOIN (SELECT PracivnykKaizenLng, Count(*) AS CountKaizen FROM Tbl_Kaizen GROUP BY PracivnykKaizenLng) AS Q_Kaizen ON TblSpysokPracKaizBosOpl.ID_Spysok = Q_Kaizen.PracivnykKaizenLng) 
LEFT JOIN (SELECT PracivnykBOSLng, COUNT(*) AS CountBOS FROM Tbl_BOS GROUP BY PracivnykBOSLng) AS Q_BOS ON TblSpysokPracKaizBosOpl.ID_Spysok = Q_BOS.PracivnykBOSLng) 
LEFT JOIN (SELECT PracivnykOPLLng, COUNT(*) AS CountOPL FROM Tbl_OPL GROUP BY PracivnykOPLLng) AS Q_OPL ON TblSpysokPracKaizBosOpl.ID_Spysok = Q_OPL.PracivnykOPLLng
ORDER BY TblSpysokPracKaizBosOpl.PIPTxt;
...
Рейтинг: 0 / 0
Запрос, подсчитывающий количество записей определённого поля из 3-х таблиц
    #39299489
Vair_S
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Анатолий ( Киев ),

Благодарю!!! Сейчас буду пробовать)
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Запрос, подсчитывающий количество записей определённого поля из 3-х таблиц
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]