powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / не могу найти ошибку cte
5 сообщений из 5, страница 1 из 1
не могу найти ошибку cte
    #39786401
Romanov-krd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: sql
1.
2.
3.
4.
5.
6.
with cte(group_identity, lv,member_identity) as
(select m.GROUP_IDENTITY,0 as lv,m.GROUP_IDENTITY from SharedServices.dbo.CSS_GROUP_MEMBERS m
where MEMBER_TYPE=1 
UNION ALL
select cte.member_identity,cte.lv+1,m1.GROUP_IDENTITY from SharedServices.dbo.CSS_GROUP_MEMBERS m1
inner join cte  on m1.MEMBER_IDENTITY=cte.group_identity )



в итоге вместо member_identity выдает значение group_identity, какое поле тут заменить?
...
Рейтинг: 0 / 0
не могу найти ошибку cte
    #39786404
Фотография Щукина Анна
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Romanov-krd,

а чего у вас в определении СТЕ и в разных секциях юнион-ола порядок полей group_identity и member_identity пляшет "вашим-нашим"?
То вы указываете group_identity , ..., member_identity
то наоборот - member_identity , ..., group_identity
...
Рейтинг: 0 / 0
не могу найти ошибку cte
    #39789341
Romanov-krd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я исправил,
Код: sql
1.
2.
3.
4.
5.
6.
with cte(group_identity, lv,member_identity) as
(select m.GROUP_IDENTITY,0 as lv,m.MEMBER_IDENTITY from SharedServices.dbo.CSS_GROUP_MEMBERS m
where MEMBER_TYPE=1 
UNION ALL
select m1.GROUP_IDENTITY,cte.lv+1,cte.member_identity from cte 
inner join SharedServices.dbo.CSS_GROUP_MEMBERS m1  on cte.group_identity=m1.MEMBER_IDENTITY )




но при соединении представления с таблицей по group_identity

Код: sql
1.
2.
left join [SharedServices].[dbo].[CSS_PROVISIONING_INFO] aplication
on aplication.MEMBER_IDENTITY=cte.GROUP_IDENTITY



не выводит соответствия нижнего уровня иерархии (скрин во вложении)

получается представление не выводит все уровни до самого нижнего. Что тут еще нужно исправить?
...
Рейтинг: 0 / 0
не могу найти ошибку cte
    #39789349
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Покажите структуру и пример наполнения таблицы CSS_GROUP_MEMBERS (лучше в формате CREATE TABLE + INSERT INTO) и нужный результат на именно этих данных. Ещё лучше - создайте дополнительно fiddle.
...
Рейтинг: 0 / 0
не могу найти ошибку cte
    #39789377
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Romanov-krdЯ исправил,
но при соединении представления с таблицей по group_identity
не выводит соответствия нижнего уровня иерархии (скрин во вложении)
А не наоборот нужно связывать?
Не inner join SharedServices.dbo.CSS_GROUP_MEMBERS m1 on m1.group_identity=cte.MEMBER_IDENTITY ?

В общем, разберитесь, что с чем связывается, и по каким полям. Нарисуйте на бумажке с конкретными значениями идентификаторов.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / не могу найти ошибку cte
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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