В настоящий момент в таблице данных нет ничего, что позволило бы вам сгруппировать строки во все, с чем вы можете работать. Если вы добавите столбец languageID в таблицу данных в соответствии с предложением @avery_larry, вы можете написать свой выбор следующим образом:
create table cust (nbr varchar(8))
create table data (nbr varchar(8),fld varchar(8),val varchar(8), languageID int)
insert into cust (nbr) values ('AA')
insert into data (nbr,fld,val, languageID) values ('AA','1','one', 1)
insert into data (nbr,fld,val, languageID) values ('AA','2','two', 1)
insert into data (nbr,fld,val, languageID) values ('AA','3','three', 1)
insert into data (nbr,fld,val, languageID) values ('AA','1','uno', 2)
insert into data (nbr,fld,val, languageID) values ('AA','2','dos', 2)
insert into data (nbr,fld,val, languageID) values ('AA','3','tres', 2);
select * from cust;
select * from data;
with data_cte(nbr, languageID)
as
(
select nbr, languageID
from data with (nolock)
group by nbr, languageID
)
select c.nbr,
SUBSTRING(
(
SELECT ','+d.val AS [text()]
FROM [data] d
WHERE d.nbr = dc.nbr and d.languageID = dc.languageID
ORDER BY d.fld
FOR XML PATH ('')
), 2, 1000) as 'Values'
from data_cte dc
inner join cust c on c.nbr = dc.nbr;
drop table cust
drop table data
SQL для объединения строк был взят из этого поста Как объединитьтекст из нескольких строк в одну текстовую строку на сервере SQL? , с небольшим изменением для добавления с.
Надеюсь, это поможет.