Форум программистов, компьютерный форум, киберфорум
Наши страницы

MS Access

Войти
Регистрация
Восстановить пароль
 
behjke
1 / 1 / 0
Регистрация: 11.05.2015
Сообщений: 44
#1

Сложный запрос: одним запросом вывести таблицу с наибольшим количеством сотрудников - MS Access

04.03.2017, 17:51. Просмотров 332. Ответов 7
Метки нет (Все метки)

Здравствуйте!

Имеется БД с несколькими таблицами сотрудников разных отделов.
--нужно с помощью одного запроса вывести таблицу с наибольшим количеством сотрудников.
--Суть заключается в том, что таблиц может быть очень много и чтобы не искать в ручную таблицу с наибольшим числом сотрудников нужно сделать это с помощью запроса,видимо сложного.

у меня не получается, прошу помощи. Заранее спасибо
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
04.03.2017, 17:51
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Сложный запрос: одним запросом вывести таблицу с наибольшим количеством сотрудников (MS Access):

сложный запрос (для меня сложный) - MS Access
Есть таблица с продажами услуг от разных фирм, есть таблица с оплатой за предоставленные услуги (при этом сумма оплат может не совпадать с...

Выборка одним запросом - Базы данных
Имеется: - таблица 'справочник параметров': id,paramname - основная таблица: id,title,param1,param2,param3 в поля...

Работа с перекрестным запросом для расчет зарплаты сотрудников - MS Access
Подскажите, пожалуйста, как создать перекрестный запрос для расчет зарплаты сотрудников ? Чтобы в качестве значения указывалось...

Средневзвешенное значение одним запросом - MS Access
Помогите, я чайник в Access. Есть база с 3 столбцами: Имя, Время, Показатель. Нужно сделать запрос, вычисляющий средневзвешенный по...

Sqlite3 Данные из 3 таблиц одним запросом - Базы данных
Добрый день. Нужна помощь гуру sql запросов. Работаю с sqlite3. Пытаюсь вытащить данные из 3 таблиц одним запросом. Связь между...

Возможно ли обновить строки на индексы одним запросом? - MS Access
Есть 2 таблицы: Таблица 1: Номер изделия (целое) Дефект (строка) - подставляется из Таблицы 2 и.т.д Таблица 2: Код...

7
shanemac51
Модератор
Эксперт MS Access
7727 / 2945 / 418
Регистрация: 07.08.2010
Сообщений: 8,033
Записей в блоге: 1
04.03.2017, 18:15 #2
Цитата Сообщение от behjke Посмотреть сообщение
таблиц может быть очень много
насколько много --5-10-25-более
0
Capi
1533 / 773 / 135
Регистрация: 12.06.2016
Сообщений: 1,594
04.03.2017, 18:16 #3
Примерно так:
SQL
1
2
3
4
5
6
7
SELECT TOP 1 Tab, N FROM (
SELECT 1 AS Tab, COUNT(*) AS N FROM Table01
UNION ALL
SELECT 2, COUNT(*) FROM Table02
UNION ALL
SELECT 3, COUNT(*) FROM Table03)
ORDER BY N DESC;
0
shanemac51
Модератор
Эксперт MS Access
7727 / 2945 / 418
Регистрация: 07.08.2010
Сообщений: 8,033
Записей в блоге: 1
04.03.2017, 18:18 #4
на union есть ограничения, поэтому и спрашиваю
Атрибут Максимальное значение
Число установленных связей 32 на одну таблицу за вычетом числа индексов, находящихся в таблице для полей или сочетаний полей, не участвующих в связях*
Число таблиц в запросе 32*
Число объединений в запросе 16*
Число полей в наборе записей 255
Размер набора записей 1 ГБ
Предел сортировки 255 знаков в одном или нескольких полях
Число уровней вложения запросов 50*  
Число знаков в ячейке на бланке запроса 1 024
Число знаков в параметре в запросе с параметрами 255  
Число операторов AND в предложении WHERE или HAVING 99*
Число знаков в инструкции SQL Приблизительно 64 000*

*Максимальные значения могут быть меньше, если запрос содержит поля подстановок, одновременно допускающие несколько значений.
0
Capi
1533 / 773 / 135
Регистрация: 12.06.2016
Сообщений: 1,594
04.03.2017, 18:54 #5
Спасибо за спецификации.

Но там не сказано, что в запросе с UNION могут участвовать максимум 49 таблиц.
А именно эта информация важна в данном случае.
Однако, надеюсь, у ТС значительно меньшее количество таблиц.
Судя по тому, что он этот запрос считает очень сложным - склонен к некоторым преувеличениям.

Если же их действительно больше, принцип остается прежним,
лишь добавятся некоторые промежуточные манипуляции.

Добавлено через 10 минут
Цитата Сообщение от Capi Посмотреть сообщение
Но там не сказано, что в запросе с UNION могут участвовать максимум 49 таблиц.
Это с учетом того, что есть еще один запрос (внешний), как в примере.
А так - 50 таблиц возможно объединять с помощью UNION.

Добавлено через 9 минут
И еще, вопрос сформулирован нечетко -
то ли определить самую заполненную таблицу (что и делает мой запрос),
то ли определить и сразу же вывести ее содержимое.
Второе возможно с помощью VBA.
0
YuryK
1029 / 846 / 315
Регистрация: 08.12.2016
Сообщений: 3,283
04.03.2017, 21:28 #6
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
А почему человеку никто прямо не скажет, что таблица с сотрудниками должна быть одна?
1
shanemac51
Модератор
Эксперт MS Access
7727 / 2945 / 418
Регистрация: 07.08.2010
Сообщений: 8,033
Записей в блоге: 1
04.03.2017, 21:45 #7
Цитата Сообщение от behjke Посмотреть сообщение
нужно с помощью одного запроса вывести таблицу с наибольшим количеством сотрудников.
мне вообще непонятна суть вопроса --зачем это надо
--если работа студенческая --там не может быть много таблиц одного типа
--если производственная(например много ексель-табличек от разных филиалов некого объединения) --зачем надо искать самое большое
0
Capi
1533 / 773 / 135
Регистрация: 12.06.2016
Сообщений: 1,594
04.03.2017, 22:21 #8
.....зачем надо искать самое большое....
Чтобы знать, кого сокращать.

Добавлено через 7 минут
А почему человеку никто прямо не скажет, что таблица с сотрудниками должна быть одна?
Тут на днях была тема про поле с фотографией в ленточной форме.
Так там была куча таблиц электроприборов, по таблице на каждого поставщика.
Лично мною несколько раз настойчиво рекомендовалось слить в одну.
Ответ был: мне так удобно.
При том, что его неразрешимая проблема с фотографиями порождалась именно наличием множества однородных таблиц.
В конце концов, дело хозяйское...

Добавлено через 8 минут
Тем более, таблицы уже есть и задача есть.
Ответить, а потом уж советовать.
0
04.03.2017, 22:21
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.03.2017, 22:21
Привет! Вот еще темы с ответами:

Как выполнить одним запросом, или объединить запросы!? - MS Access
SELECT , Дата, , sum() AS Количество_мест, sum() AS Платный_вес, INTO Адреса FROM ОТчет GROUP BY , Дата, , ; SELECT , Дата, ,...

Как добавить данные одним запросом в разные таблицы? - MS Access
Начал делать базу. Чтобы не ошибиться с внесением данных надо пользоваться формами и запросами. Там, где поля - список значений, всё...

Как одним запросом собрать данные из разных таблиц на примере базы данных? - MS Access
не могу сдвинуться с мертвой точки: есть заполненные таблицы: "приход", "расход", "отчисления". Задача - сделать отчет по "расход" +...

Сложный запрос - Базы данных
SELECT * FROM facts WHERE DATE(date) BETWEEN date1 AND date2 Использую вот такой запрос ,но помимо выборки по дате нужно выбирать еще по...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru