Вот рабочий запрос на любой дБ
select distinct table_name,
stuff((select ','+data_type
from information_schema.columns b
where b.table_name=a.table_name
for xml path(''),type).value('.[1]','nvarchar(max)'),1,1,'') AS data_types,
stuff((select ','+column_name
from information_schema.columns b
where b.table_name=a.table_name
for xml path(''),type).value('.[1]','nvarchar(max)'),1,1,'') AS column_names
from information_schema.columns a
А вот ваш запрос
select distinct FKTABLE_NAME,
stuff((select ','+FKCOLUMN_NAME
from tbl b
where b.FKTABLE_NAME=a.FKTABLE_NAME
for xml path(''),type).value('.[1]','nvarchar(max)'),1,1,'') AS FKCOLUMN_NAMES,
stuff((select ','+PKCOLUMN_NAME
from tbl b
where b.FKTABLE_NAME=a.FKTABLE_NAME
for xml path(''),type).value('.[1]','nvarchar(max)'),1,1,'') AS PKCOLUMN_NAMES
from tbl a