Объединить все значения столбцов в один столбец как CSV
Как я могу объединить все значения строки в одно поле в MS SQL Server,
Предположим, мой формат таблицы:
area_name || city || state || postal_code || country || address
Выход
area||city||state||postal_code||country||
area,city,state,postal_code,country
Как объединить значения area_name, city, штат, postal_code и страны, чтобы сделать один адрес в формате CSV.
Мой код
CREATE PROC [dbo].[p_insert_address]
@ID INT = 0,
@area_name VARCHAR(20)
@city VARCHAR(20),
@state VARCHAR(20),
@postal_code VARCHAR(20),
@country VARCHAR(20)
AS
BEGIN
SET NOCOUNT ON;
INSERT INTO address (@area_name, city, state, postal_code, country)
VALUES (@area_name, @city, @state, @postal_code, @country);
SET NOCOUNT OFF;
END
1 ответ
Это для вставки данных в вашу таблицу:
CREATE PROC [dbo].[p_insert_address]
@ID INT = 0,
@area_name VARCHAR(20)
@city VARCHAR(20),
@state VARCHAR(20),
@postal_code VARCHAR(20),
@country VARCHAR(20)
AS
BEGIN
SET NOCOUNT ON;
INSERT INTO address (area_name, city, state, postal_code, country,csv)
VALUES (@area_name, @city, @state, @postal_code, @country, @area_name+','+@city+','+@state+','+@postal_code+','+@country);
SET NOCOUNT OFF;
END
Иначе:
SELECT area_name, city, state, postal_code, country,area_name+','+city+','+state+','+postal_code+','+country
FROM address