powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Запрос на сравнение значений
10 сообщений из 10, страница 1 из 1
Запрос на сравнение значений
    #39620759
dead end
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый вечер.Нужна помощь с запросом. Есть две таблицы: ШтатноеРасписание(КодОтдела,КодДолжности,КоличествоШтатныхЕдиниц)
и таблица
Сотрудники(НомерПриказа, Табельный номер,КодОтдела,КодДолжности)
Нужно написать запрос,в котором должно сравниваться КоличествоШтатныхЕдиниц с количеством записей уже имеющихся сотрудников на данной должности в данном отделе.
Таблицы связаны по составному ключу(КодОтдела, Код Должности).
Количество записей вычисляю:

SELECT COUNT(Сотрудники.КодДолжности) FROM Сотрудники
GROUP BY КодОтдела, КодДолжности

Каким образом сравнить полученный результат со значениями из первой таблицы? Прошу помощи(
...
Рейтинг: 0 / 0
Запрос на сравнение значений
    #39620765
Фотография Дедушка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
- версия сервера?
- что значит "сравнить"?
...
Рейтинг: 0 / 0
Запрос на сравнение значений
    #39620784
dead end
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2012
в общем, допустим, в результате подсчета количества записей у меня получается столбец со значениями,которые нужно сравнить со значениеми из поля КоличествоЕдиниц для данного отдела и должности, меньше он или равен .
...
Рейтинг: 0 / 0
Запрос на сравнение значений
    #39620787
dead end
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дедушка,

если просто объяснить цель данного запроса мне нужно сделать так, чтобы пользователь не мог добавить больше сотрудников на должность,чем предусмотрено в столбце КоличествоЕдиниц.
...
Рейтинг: 0 / 0
Запрос на сравнение значений
    #39620805
Andy_OLAP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dead endДедушка,

если просто объяснить цель данного запроса мне нужно сделать так, чтобы пользователь не мог добавить больше сотрудников на должность,чем предусмотрено в столбце КоличествоЕдиниц.
То есть триггер, который не давал бы записать сотрудника по сочетанию КодОтдела и КодДолжности так, что если бы суммировать всех прочих сотрудников с такой должностью из такого отдела - то их число уже бы совпало с количеством штатных единиц.
Отлично.

А теперь 2 вопроса.
1. Сотрудники(НомерПриказа, Табельный номер,КодОтдела,КодДолжности) - сотрудник увольняется, его код отдела обнуляется?
2. В таблицу ШтатноеРасписание еще не внесли по новому отделу или новой должности в существующем отделе ограничивающее количество штатных единиц. Это означает, что ограничение еще не действует и можно записать сколько угодно сотрудников? Или что штатное еще не утверждено и нельзя записать НИ одного сотрудника на такое сочетание?
...
Рейтинг: 0 / 0
Запрос на сравнение значений
    #39620829
dead end
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Andy_OLAP,

Да,обнуляется.
Там при заполнении таблицы нельзя оставить поле пустым,так что ограничение будет всегда)
...
Рейтинг: 0 / 0
Запрос на сравнение значений
    #39620831
dead end
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Andy_OLAP,

Триггер это слишком сложно для меня,хотелось бы понимать,что делаешь(
Мне хотя бы составить запрос на выборку свободных должностей.
...
Рейтинг: 0 / 0
Запрос на сравнение значений
    #39621119
Andy_OLAP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dead endAndy_OLAP,

Триггер это слишком сложно для меня, хотелось бы понимать,что делаешь (
Мне хотя бы составить запрос на выборку свободных должностей.
Юный коллега, есть много учебников по SQL.

Видите ли, в чем дело. Вот Вы идете на форум хирургов, а там вопрос "мне бы скальпель острый подобрать, какого производителя рекомендуете, я студент-медик, завтра в первый раз буду сердце вскрывать и шунтировать, сразу один, никого из других хирургов рядом нет, хотелось бы не промахнуться с выбором инструмента, чтобы лезвие не затупилось".

И Вы в ужасе думаете - а не моего ли знакомого он будет оперировать?

Я к тому, что когда Вы получаете готовое решение на форуме вместо самостоятельного штудирования учебных материалов - это плохо заканчивается. Степень некомпетентности нарастает и бумерангом прилетит к Вам лично.

Другое дело, когда в 100-й раз решаете сложный пример из учебника, но что-то не получается - и тут подскажут, где опечатку сделали, например, по невнимательности от усталости, например.
...
Рейтинг: 0 / 0
Запрос на сравнение значений
    #39621339
dead end
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Andy_OLAP,

если студенту никто не поможет, он самостоятельно убьет больше людей ,чем мог)

я тут понятными мне методами попробовал и все равно ошибка,как её исправить?
...
Рейтинг: 0 / 0
Запрос на сравнение значений
    #39621372
Kopelly
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dead end,

Варианта два:

1. Для вложенного запроса замени
Group by КодОтдела, КодДолжности
на
Where КодОтдела /*вложенного запроса*/ = КодОтдела /*Штатное расписание*/
and КодДолжности /*вложенного запроса*/ = КодДолжности /*Штатное расписание*/
и убери inner join
/*тогда у тебя для каждой строки Штатного расписания будет считать количество из принятых*/

2. Добавь во вложенный запрос КодОтдела и КодДолжности и помести этот запрос в Inner Join вместо ПриемаНаРаботу
/*Тогда ты из таблицы приема на работу соберешь количество принятых в разрезе должностей и отделов, уже этот результат джойнить со штатным расписанием*/
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Запрос на сравнение значений
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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