Simulating group_concat MySQL function in Microsoft SQL Server 2005? -


i'm trying migrate mysql-based app on microsoft sql server 2005 (not choice, that's life).

in original app, used almost entirely ansi-sql compliant statements, 1 significant exception -- used mysql's group_concat function frequently.

group_concat, way, this: given table of, say, employee names , projects...

select empname, projid project_members; 

returns:

andy   |  a100 andy   |  b391 andy   |  x010 tom    |  a100 tom    |  a510 

... , here's group_concat:

select      empname, group_concat(projid separator ' / ')       project_members  group      empname; 

returns:

andy   |  a100 / b391 / x010 tom    |  a100 / a510 

so i'd know is: possible write, say, user-defined function in sql server emulates functionality of group_concat?

i have no experience using udfs, stored procedures, or that, straight-up sql, please err on side of explanation :)

no real easy way this. lots of ideas out there, though.

best 1 i've found:

select table_name, left(column_names , len(column_names )-1) column_names information_schema.columns extern cross apply (     select column_name + ','     information_schema.columns intern     extern.table_name = intern.table_name     xml path('') ) pre_trimmed (column_names) group table_name, column_names; 

or version works correctly if data might contain characters such <

with extern      (select distinct table_name            information_schema.columns) select table_name,        left(y.column_names, len(y.column_names) - 1) column_names   extern        cross apply (select column_name + ','                       information_schema.columns intern                      extern.table_name = intern.table_name                     xml path(''), type) x (column_names)        cross apply (select x.column_names.value('.', 'nvarchar(max)')) y(column_names)  

Comments

Popular posts from this blog

sql server - Cannot query correctly (MSSQL - PHP - JSON) -

php - trouble displaying mysqli database results in correct order -

C++ Linked List -