2015-05-21 3 views
0

Как можно объединить все значения строки в одном поле в MS SQL Server,Объединить все значения столбцов в один столбец в CSV

Пусть мой формат таблицы ::

area_name || city || state || postal_code || country || address 

Выход

area||city||state||postal_code||country|| 

area,city,state,postal_code,country 

Как объединить значения AREA_NAME, город, штат, 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 
+0

@Zohar спасибо за редактирование !!! – user4221591

+0

Вы хотите выбрать их как csv или вставить, а затем как csv в таблицу? –

ответ

0

Это для вставки данных в таблице:

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+','[email protected]+','[email protected]+','[email protected]_code+','[email protected]);  

     SET NOCOUNT OFF; 

    END 

В противном случае:

SELECT area_name, city, state, postal_code, country,area_name+','+city+','+state+','+postal_code+','+country 
FROM address 
+0

обновление не работает, без ошибок, но не дает выход. здесь находится код: 'update address set csv = area_name + ',' + city + ',' + state + ',' + postal_code + ',' + country' не может обновить поле csv. – user4221591

+0

Не было обновления, поэтому, если вы вызываете процедуру с одними и теми же данными, она просто вставляет новую строку, если только у вас нет уникального ограничения для вашей таблицы. Я не знал, что вам нужно обновление; однако было легко получить его из кода вставки – Simone

+0

да, я попробовал то же самое от кода вставки, но не работал. – user4221591

Смежные вопросы