Я пытаюсь найти относительную информацию из таблицы и вернуть эти результаты (вместе с другими несвязанными результатами) в одну строку как часть более крупного запроса.
Я уже пытался использовать этот пример, модифицированный для моегоdata.
Как вернуть несколько значений в одном столбце (T-SQL)?
Но я не могу заставить его работать.Он не будет извлекать какие-либо данные (я уверен, что это ошибка пользователя [ me ]).
Если я запрашиваю таблицу напрямую, используя TempTable, я могу правильно получить результаты.
DECLARE @res NVARCHAR(100)
SET @res = ''
CREATE TABLE #tempResult ( item nvarchar(100) )
INSERT INTO #tempResult
SELECT Relation AS item
FROM tblNextOfKin
WHERE ID ='xxx' AND Address ='yyy'
ORDER BY Relation
SELECT @res = @res + item + ', ' from #tempResult
SELECT substring(@res,1,len(@res)-1) as Result
DROP TABLE #tempResult
Обратите внимание, что строка WHERE выше, xxx и ггг будет варьироваться в зависимости от входных критериев дляфункция.но так как вы не можете использовать TempTables в функции ... Я застрял.
Соответствующие поля в таблице, которую я пытаюсь запросить, следующие:
tblNextOfKin
ID - varchar (12)
Имя - varchar (60)
Отношение - varchar (30)
Адрес - varchar (100)
Надеюсь, это имеет достаточно смысла ... Я видел в другом посте выражение, котороеподходит.
Мой SQL-фу не очень хорош.
Как только я получу работающую функцию, я помещу ее в основной запрос для пакета служб SSIS, над которым я работаю, который извлекает данные из многих другихтаблицы.
Я могу предоставить более подробную информацию, если это необходимо, но сайт сказал, чтобы было проще, и я попытался сделать это.
Спасибо !!!
Follow-вверх (потому что, когда я добавил комментарий к ответу ниже, я не мог редактировать форматирование)
Мне нужно иметь возможность получать результаты из разных столбцов.
ID Имя Адрес для связи
1, Mike, SON,100 Main St.
1, Sara, DAU, 100 Main St.
2, Tim, SON, 123 South St.
Both первые два человека живут по одному и тому же адресу, поэтому, если я запрашиваю ID = '1' и Address = '100 Main St.'Мне нужно, чтобы результаты выглядели примерно так ...
"DAU, SON"