Есть 2 таблицы.
Первая таблица:
Название markcust
Поля idmarkcust (int), customer_id (int), mark_id (int).
Вторая таблица:
Название marka
Поля marka_id (int), marka (char).
Связь FK_markacust_marka между "marka" и "markacust"
Что необходимо покажу (на примере). Необходимо записать в одну строчку (ячейку) данные у которых одинаковый customer_id.
Пример:
Код: Выделить всё
select distinct markacust.customer_id, markacust.marka_id, (select cast(marka_id as nvarchar) + ',' as 'data()'
from [isp_dog].[dbo].[markacust] t2 where [isp_dog].[dbo].[markacust].customer_id = t2.customer_id group by marka_id for xml path('') )
from [isp_dog].[dbo].[markacust]
group by markacust.marka_id, markacust.customer_id
Картинка
А теперь к проблеме.
Данное соединение у меня получается только в текущей таблице, а мне необходимо соединить данные из справочника(дополнительной таблицы №2).
Но почему то при когда я её соединяю и пишу запрос ответ она выводит не правильный.
Пример моего кода
Код: Выделить всё
select distinct markacust.customer_id, markacust.marka_id, marka.marka, (select cast((marka) as nvarchar) + ',' as 'data()'
from [isp_dog].[dbo].[markacust] t2
left join [isp_dog].[dbo].[marka] on marka.marka_id=markacust.marka_id
where [isp_dog].[dbo].[markacust].customer_id = t2.customer_id for xml path('') )
from [isp_dog].[dbo].[markacust]
left join [isp_dog].[dbo].[marka] on marka.marka_id=markacust.marka_id
Картинка2
А нужно что бы в последнем столбце было Marka1, Marka2, Marka3
Если кто поможет буду благодарен. Спасибо.