Как я могу изменить SQL получить результат объединения - PullRequest
0 голосов
/ 04 июля 2019

как я могу изменить выбор ...

Студентимя дома1 А Нео 023 **2 A Cit 012 **3 B Dti 12 **4 .. ... ...

У меня есть SQL-запрос на выборку, например:

SELECT
    name,
    home,
    tel
FROM Student
WHERE id<4;

И результат был похож на ↓имя дома телА нео 023 **Cit 012 **Б Дти 12 **

Но я хочу получить такой результат, какимя дома телA Neo, Cit 023 **, 012 **Б Дти 12 **

Ответы [ 2 ]

0 голосов
/ 04 июля 2019

попробуйте следующее:

declare @Student table (id int, name varchar(10), home varchar(100), tel varchar(10))
insert into @Student select 1, 'A', 'Neo', '023**' 
insert into @Student select 2, 'A', 'Cit', '012**'
insert into @Student select 3, 'B', 'Dti', '12**'

select * from @Student

select name, stuff((
        select distinct ',' + u.home
        from @Student u
        where u.name = s.name
        for xml path('')),1,1,'') as home, stuff((
        select distinct ',' + u.tel
        from @Student u
        where u.name = s.name
        for xml path('')),1,1,'') as tel
from @Student s
group by name
0 голосов
/ 04 июля 2019

Вы можете использовать CURSOR или CTE и объединять строки в полях home и tel.См. здесь для примера.

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