Возможно ли улучшение запроса? : Из таблицы ссылок создайте группы из одного поля - PullRequest
0 голосов
/ 29 августа 2018

У меня есть таблица ссылок с именем club_per_clubgroup, сущности club, clubgroup и customer.

club_per_clubgroup

(club)    (clubgroup)
fooclub   1
barclub   2
fooclub   3
barclub   3

customer таблица связана с clubgroup:

(code)   (clubgroup)
foolio   1
barman   2
wiseman  3

Мне нужно собрать все клубы для клиентов в одной области. Это то, что я уже сделал, и это работает:

select * from
(select distinct customer from club_customer)c
        cross apply(select
                            STUFF(  ( 
                                    select ',' + cc.club 
                                    from club_customer cc
                                    where c.customer=cc.customer
                                    order by cc.club
                                    FOR XML PATH(''), TYPE
                                ).value('.','nvarchar(max)')
                            ,1,2, '') as clubgroup
                        ) as conctbl

Есть ли более эффективная альтернатива, чтобы получить то же самое?

Версия SQL SERVER - 2008 (возможно, R2).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...