Я создал 2 столбца типа данных string, int (company, acc_id) в таблице ctc, которая имеет несколько значений, разделенных запятыми. Мне нужно разбить эти строки на 255 символов и разделенных запятыми символов, чтобы удостовериться, что название компании и идентификаторы учетных записей не нарушены и имеют смысл при чтении. для выполнения этого запроса необходимо ограничиться 255 символами, если недостаточно места для включения полного названия компании и acc_ids. Также решение должно быть только в запросе SQL, потому что я должен включить запрос в сторонний инструмент. Я не могу написать функцию или хранимую процедуру. он должен разбить один столбец на 8 множественных столбцов, каждый из которых имеет длину 255 полей. Оставшиеся пустые столбцы могут иметь нулевое или пустое значение.
Может кто-нибудь, пожалуйста, посоветуйте, как мне этого добиться.
Ниже приведен код, который создает значения в столбцах через запятую путем объединения нескольких строк на основе их адреса электронной почты. Дублирующиеся строки в порядке и не проблема.
WITH contact_CTE
AS
(
SELECT
acc_id,
,company
,email
FROM table1 a
inner join table2 on b.id = a.type_id
),
contact_CTE_Ext
AS (SELECT acc_id
,company
email,
STUFF(( SELECT ',' + company
FROM contact_CTE as t1
where t1.email = t2.email
FOR XML Path ('')), 1 , 1 ,'') new_companies ,
STUFF(( SELECT ',' + adv_account
FROM contact_CTE as t1
where email = Email
FOR XML Path ('')), 1 , 1 ,'') new_accIds
From contact_CTE as t2
)
] 1
] 2