Разрыв строки в SQL-запросе определенной длины и определенного символа - PullRequest
0 голосов
/ 06 июня 2019

Я создал 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  
)

![Actual Result] 1 ![enter image description here] 2

...