Всем привет. Кто может подсказать.
Нужно чтобы выводились данные не подразделения (напр воронежский филиал) а головного отдела (экономический департамент)
но при этом не урезались данные логин, группа,формат,очередь
сейчас
логин группа формат подразделение очередь
ivanov_ea Москва КК кк Москва(КО) 1
petrov_aa Брянск КГ кг Брянск(КО) 1
нужно
логин группа формат подразделение очередь
ivanov_ea Москва КК кк Экономический отдел 1
petrov_aa Брянск КГ кг Экономический отдел 1
т.е. чтобы по иерархии отображалось подразделение уровнем выше а остальные данные не урезались. вот код
with rec (block_name, parent_block_id, block_id,read_group_id, process_id)
as (select block_name, parent_block_id, block_id, READ_GROUP_ID, PROCESS_ID
from T_BLOCK
where PARENT_BLOCK_ID is null
union all
select t1.block_name, t1.parent_block_id, t1.block_id, t1.READ_GROUP_ID, t1.PROCESS_ID
from T_BLOCK t1 join rec on rec.block_id=t1.PARENT_BLOCK_ID)
select LOGIN_USERS.ACCEPTOR_LOGIN as 'Логин',
GRP.ACCEPTOR_NAME as 'Группа',
case when PATINDEX('%ММ_МК%',GRP.ACCEPTOR_NAME)>0 then 'ММ/МК'
else 'ГМ' end 'Формат',
rec.BLOCK_NAME as 'Подразделение',
ochered.ORDER_BY as 'Очередь'
from T_ACCEPTOR GRP
inner join T_USER_GROUP SOED on GRP.ACCEPTOR_ID=SOED.GROUP_ID
inner join T_ACCEPTOR LOGIN_USERS on LOGIN_USERS.ACCEPTOR_ID=SOED.USER_ID
inner join rec on rec.read_group_id=grp.ACCEPTOR_ID
inner join V_ROUTE_ORDER ochered on ochered.ACCEPTOR_ID=LOGIN_USERS.ACCEPTOR_ID
and ochered.BLOCK_ID=rec.BLOCK_ID
where GRP.ACCEPTOR_NAME like '%READ' and LOGIN_USERS.IS_ACTIVE=1
and GRP.IS_GROUP=1 and rec.PROCESS_ID=162
order by LOGIN_USERS.ACCEPTOR_LOGIN, rec.BLOCK_NAME
Нужно чтобы выводились данные не подразделения (напр воронежский филиал) а головного отдела (экономический департамент)
но при этом не урезались данные логин, группа,формат,очередь
сейчас
логин группа формат подразделение очередь
ivanov_ea Москва КК кк Москва(КО) 1
petrov_aa Брянск КГ кг Брянск(КО) 1
нужно
логин группа формат подразделение очередь
ivanov_ea Москва КК кк Экономический отдел 1
petrov_aa Брянск КГ кг Экономический отдел 1
т.е. чтобы по иерархии отображалось подразделение уровнем выше а остальные данные не урезались. вот код
with rec (block_name, parent_block_id, block_id,read_group_id, process_id)
as (select block_name, parent_block_id, block_id, READ_GROUP_ID, PROCESS_ID
from T_BLOCK
where PARENT_BLOCK_ID is null
union all
select t1.block_name, t1.parent_block_id, t1.block_id, t1.READ_GROUP_ID, t1.PROCESS_ID
from T_BLOCK t1 join rec on rec.block_id=t1.PARENT_BLOCK_ID)
select LOGIN_USERS.ACCEPTOR_LOGIN as 'Логин',
GRP.ACCEPTOR_NAME as 'Группа',
case when PATINDEX('%ММ_МК%',GRP.ACCEPTOR_NAME)>0 then 'ММ/МК'
else 'ГМ' end 'Формат',
rec.BLOCK_NAME as 'Подразделение',
ochered.ORDER_BY as 'Очередь'
from T_ACCEPTOR GRP
inner join T_USER_GROUP SOED on GRP.ACCEPTOR_ID=SOED.GROUP_ID
inner join T_ACCEPTOR LOGIN_USERS on LOGIN_USERS.ACCEPTOR_ID=SOED.USER_ID
inner join rec on rec.read_group_id=grp.ACCEPTOR_ID
inner join V_ROUTE_ORDER ochered on ochered.ACCEPTOR_ID=LOGIN_USERS.ACCEPTOR_ID
and ochered.BLOCK_ID=rec.BLOCK_ID
where GRP.ACCEPTOR_NAME like '%READ' and LOGIN_USERS.IS_ACTIVE=1
and GRP.IS_GROUP=1 and rec.PROCESS_ID=162
order by LOGIN_USERS.ACCEPTOR_LOGIN, rec.BLOCK_NAME