Я хочу объединить значения из 1 столбца и группы другим. Я видел много решений для этого (используя, например, FOR XML PATH('')
), но я не встречал тот, который использует более 1 таблицы. Мне нужна вторая таблица, чтобы отфильтровать некоторые записи, и я не могу понять, как это сделать. Мои данные выглядит следующим образом:Объединить значения столбцов в строку, используя более 1 таблицы данных
SONo PartNo
1 A04000.1 M41000M
2 A04000.1 M52000M
3 A04001.1 V31255
4 A04001.1 V32895
Я хочу, чтобы выглядеть следующим образом:
SONo PartNo
1 A04000.1 M41000M, M52000M
2 A04001.1 V31255, V32895
Мой запрос выглядит следующим образом:
SELECT SUBSTRING(Table1.ID, 5, 10) AS SONo, Table1.PartNo
FROM Table1 INNER JOIN
Table2 ON Table1.PartNo = Table2.PartNo
WHERE (Table2.StoreNo = '13')
ORDER BY SONo
Любая помощь будет оценена.
Спасибо.
Возможный дубликат (http://stackoverflow.com/questions/451415/simulating-group-concat-mysql-function- in-sql-server) – lad2025
Вы ищете 'GROUP_CONCAT (MySQL)/LISTAGG (Oracle)/string_agg (Postgresql)' эквивалент для MS SQL Server. Я предлагаю использовать 'STUFF + FOR XML'. Дополнительная информация и сравнение ** [Конкатенирование значений строк в Transact-SQL] (https://www.simple-talk.com/sql/t-sql-programming/concatenating-row-values-in-transact-sql/) * * – lad2025