powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Составление групп по рейтингу
1 сообщений из 1, страница 1 из 1
Составление групп по рейтингу
    #39787300
drunja
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!
Есть такие таблицы
[img= https://imgbb.com/][img] https://i.ibb.co/cNfSrPJ/5-1.jpg [/img]]
[img= https://ibb.co/fHBfKc1][img] https://i.ibb.co/Zxt5wZL/5-2.jpg [/img]]
есть задание
[img= https://ibb.co/n308x39][img] https://i.ibb.co/k3y6N3j/5-3.jpg [/img]]

создал такие таблицы и заполнил
Код: plsql
1.
2.
3.
4.
5.
create table contactDirectory
(CONT_TYPE int,
CONT_NAME varchar(255),
CONSTRAINT pk_contactDirectory PRIMARY KEY (CONT_TYPE)
);


Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
create table empContactData
(ldap varchar(255),
CONT_MAIN int,
CONT_TYPE int,
CONT_VALUE varchar(255),
CONSTRAINT pk_empContactData PRIMARY KEY (ldap),
CONSTRAINT fk_CONT_TYPE FOREIGN KEY (CONT_TYPE)
REFERENCES contactDirectory (CONT_TYPE)
);


Код: plsql
1.
2.
3.
4.
5.
6.
create table empData
(ldap_oper varchar(255),
LDAP_LINE_MANAGER varchar(255),
CONSTRAINT fk_ldap FOREIGN KEY (ldap_oper)
REFERENCES empContactData (ldap)
);


Код: plsql
1.
2.
3.
4.
5.
6.
7.
create table empHistData
(date_create date,
ldap_oper varchar(255),
PEOP_STATE enum('болеет','в отпуске','в командировке','уволен','увольняется','оформляется','работает','стажируется'),
CONSTRAINT fk_ldap_Hist FOREIGN KEY (ldap_oper)
REFERENCES empContactData (ldap)
);


Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
create table data_dialogs
(date_create date,
ldap_oper varchar(255),
oper_fio varchar(255),
totalDialogs int,
totalAcceptedDialogs int,
RPBranch char(4),
RPName varchar(255),
CONSTRAINT fk_ldap_d_dial FOREIGN KEY (ldap_oper)
REFERENCES empContactData (ldap)
);


и селект согласно задания (кроме топ лучших и худших)
Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
select a.ldap_oper, a.oper_fio, a.RPBranch, a.RPName, a.totalDialogs, SUM(a.totalAcceptedDialogs), (SUM(a.totalAcceptedDialogs)*100/a.totalDialogs) AS reyt, m.LDAP_LINE_MANAGER, c.CONT_VALUE
from data_dialogs a JOIN empData m
ON a.ldap_oper = m.ldap_oper
JOIN empContactData c
ON m.LDAP_LINE_MANAGER = c.ldap
JOIN empHistData h_l
ON a.ldap_oper = h_l.ldap_oper
JOIN empHistData h_d
ON a.date_create = h_d.date_create
WHERE MONTH(a.date_create) = MONTH(NOW()) AND YEAR(a.date_create) = YEAR(NOW()) AND c.CONT_MAIN = 1 AND (h_d.PEOP_STATE = 'увольняется' OR 'оформляется' OR 'работает' OR 'стажируется')
GROUP BY a.ldap_oper
ORDER BY reyt;


результат Empty set, 3 warnings
Подскажите, пожалуйста, что не правильно сделал в запросе и как его доработать чтоб напротив первых и последних 5-ти строк был статус соответствующего топа группы.
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Составление групп по рейтингу
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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