Мне нужно немного помочь получить нужные результаты. У меня есть 2 таблицы с общим полем id
. Я хочу, чтобы объединить значения из таблицы B, которые имеют один и тот же id
Выберите поле из таблицы A, где подзаборка из таблицы B = таблица A поле
Таблица A
id | name | somevalue1
1 | dud | 12345
2 | duda | 8908
Таблица B
id | somevalue2
1 | 56545
2 | 545665
1 | 89875
2 | 12524
Желаемая Результат
id | somevalue2 combined
1 | 56545, 89875
2 | 545665, 12524
Я попытался использовать Join
, но я немного потерян. Я пытаюсь выполнить подзапрос, но единственный способ, с помощью которого я могу заставить его работать, - это связать основной запрос из подзаголовка, но также и его gettin.
Этот запрос я пытался просто виснет:
select distinct a.id,(
select b.somevalue2 + ', ' as [text()] from tableB b
where b.id = a.id and b.somevalue2 is not null for xml path(''))
as [ColumnName]
from tableA a
order by a.id asc
EDIT
Я думаю, что нужно отметить, что TableB имеет более чем 400 000 строк. Таблица A имеет только около 1500 рядов.
Возможно, вы можете найти помощь в [этом другом вопросе] (http://stackoverflow.com/q/17591490/1385896) –
Мне просто интересно, верны ли в результатах под «Желаемые результаты». Значения в 'somevalue2 объединены', похоже, не имеют значений из' Table A' –
@SecretSquirrel, который предназначен – OGHaza