Объединить все значения столбцов в один столбец как 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
Другие вопросы по тегам