У меня есть таблица, которая содержит много пустых значений в поле электронной почты.Что мне нужно сделать, это обновить все строки NULL.Для каждой строки NULL мне нужно представить хранимую процедуру, которая в основном получает все электронные письма, связанные с идентификатором этого пользователя.Поэтому для каждой строки NULL эта хранимая процедура вызывается, и все поля электронной почты, найденные в этой хранимой процедуре, должны быть объединены вместе и вставлены вместо поля электронной почты NULL из другой таблицы.
Кто-нибудь знает, какреализовать это в TSQL?
Заранее большое спасибо
РЕДАКТИРОВАТЬ:
Я нашел этот код:
WITH Ranked ( CategoryId, rnk, ProductName )
AS ( SELECT CategoryId,
ROW_NUMBER() OVER( PARTITION BY CategoryId ORDER BY CategoryId ),
CAST( ProductName AS VARCHAR(8000) )
FROM Northwind..Products),
AnchorRanked ( CategoryId, rnk, ProductName )
AS ( SELECT CategoryId, rnk, ProductName
FROM Ranked
WHERE rnk = 1 ),
RecurRanked ( CategoryId, rnk, ProductName )
AS ( SELECT CategoryId, rnk, ProductName
FROM AnchorRanked
UNION ALL
SELECT Ranked.CategoryId, Ranked.rnk,
RecurRanked.ProductName + ', ' + Ranked.ProductName
FROM Ranked
INNER JOIN RecurRanked
ON Ranked.CategoryId = RecurRanked.CategoryId
AND Ranked.rnk = RecurRanked.rnk + 1 )
SELECT CategoryId, MAX( ProductName )
FROM RecurRanked
GROUP BY CategoryId;
Однако я не могузаставить его работать в моем случае.
По сути, вместо использования хранимой процедуры я могу просто использовать оператор select, чтобы получить одну строку со всеми необходимыми электронными письмами.По сути, мне нужно объединить эти возвращенные письма в одну строку.