Пожалуйста, проверьте этот запрос, однако я предлагаю переосмыслить ваш подход, потому что хранить значение через запятую не очень хорошая идея:
Создание выборки данных
Declare @Table1 table(
CD_Contr_Type varchar(250),
MainJob_Id varchar(100)
)
Insert into @Table1 values (NULL, '201900002')
Insert into @Table1 values (NULL, '201900004')
Insert into @Table1 values (NULL, '201900006')
Insert into @Table1 values (NULL, '201900008')
Insert into @Table1 values (NULL, '201900010')
Insert into @Table1 values (NULL, '201900012')
Insert into @Table1 values (NULL, '201900013')
Insert into @Table1 values (NULL, '201900015')
Declare @Table2 table(
MainJob_Id varchar(100),
Quantity decimal(5,3),
Length varchar(20),
Type varchar(100)
)
Insert into @Table2 values('201900002', 1.000, '20Feet', 'Flat Rate')
Insert into @Table2 values('201900004', 1.000, '20Feet', 'Bulk')
Insert into @Table2 values('201900004', 2.000, '40Feet', 'Bulk')
Insert into @Table2 values('201900006', 1.000, '20Feet', 'General Purpose')
Insert into @Table2 values('201900008', 1.000, '20Feet', 'Bulk')
Insert into @Table2 values('201900010', 1.000, '20Feet', 'Bulk')
Insert into @Table2 values('201900012', 1.000, '20Feet', 'High Cube')
Insert into @Table2 values('201900013', 1.000, NULL, 'Loose Cargo')
Insert into @Table2 values('201900015', 1.000, '20Feet', 'General Purpose')
Окончательное обновление запроса
Update A set CD_Contr_Type = UpdateVal from @Table1 A inner join (
Select MainJob_Id,
(Select Cast(Cast(Quantity as int) as varchar) + ' * ' + Length + ' ' + Type + ', '
from @Table2 t2
where t2.MainJob_Id = t1.MainJob_Id for XML Path('')) as UpdateVal
from @Table1 t1
group by MainJob_Id) B on A.MainJob_Id = B.MainJob_Id