Вы можете использовать:
Insert into CustomerJSON (Email, CustomerData)
select Email , STUFF((
select ',' +
'{"email":' + email
+ ',"firstName":"' + FirstName + '"'
+ ',"lastName":"' + LastName + '"'
+ ',"phoneNumber":"' + LastName + '"'
+'}'
from Customer c2
where c2.Customerid = c.Customerid -- correlation
for xml path('')),1,1,'')
from Customer c;
Если CustomerId - это PK (скорее всего), вам не нужен STUFF and FOR XML
, а просто concat с +
и обработка столбцов, допускающих обнуление, с ISNULL
:
Insert into CustomerJSON (Email, CustomerData)
select Email ,
'{"email":' + email
+ ',"firstName":"' + FirstName + '"'
+ ',"lastName":"' + LastName + '"'
+ ',"phoneNumber":"' + LastName + '"'
+'}'
from Customer c;