Microsoft sql server: Pivot rows together with concatenate? -


i have select query outputs follows:

pid-------name------------------response 147------factory influenced-----fish paste 147------factory influenced-----contract packer 147------factory influenced-----cereals 147------factory influenced-----biscuits 154------factory influenced-----werda 154------factory influenced-----worcester 158------factory influenced-----moirs 158------factory influenced-----oats 158------factory influenced-----noogy 157------factory influenced-----safari nuts 158------factory influenced-----savoury foods 

what make 'factory influenced' column , 'response' fields. concatenate these values follows:

pid-----factory influenced           147-----fish paste, contract packer, cereals, biscuits           154-----werda, worcester             158-----moirs, oats, noogy, safari nuts, savoury foods   

any highly appreciated.

this process of concatenating multiple rows single column not pivot, pivot when convert rows of data columns. since want create comma-separated list of values code different.

you can use for xml path , stuff create list:

select t1.pid,   t1.name,    stuff(          (select ', ' + t2.response           yourtable t2           t1.pid = t2.pid           xml path (''))           , 1, 1, '')  response yourtable t1 group t1.pid, t1.name; 

see sql fiddle demo.

or can use cross apply for xml path:

select distinct t1.pid,   t1.name,    response = left(t2.response, len(t2.response)-1)  yourtable t1 cross apply (   select t2.response + ', '   yourtable t2   t1.pid = t2.pid   xml path('') ) t2 (response); 

see sql fiddle demo. both versions give result of:

| pid |               name |                                       response | |-----|--------------------|------------------------------------------------| | 147 | factory influenced | fish paste, contract packer, cereals, biscuits | | 154 | factory influenced |                               werda, worcester | | 157 | factory influenced |                                    safari nuts | | 158 | factory influenced |              moirs, oats, noogy, savoury foods | 

Comments

Popular posts from this blog

python - Subclassed QStyledItemDelegate ignores Stylesheet -

java - HttpClient 3.1 Connection pooling vs HttpClient 4.3.2 -

SQL: Divide the sum of values in one table with the count of rows in another -