Alex2 101 Ответов: 2

Как извлечь данные из таблицы, разделенной запятыми в виде одной строки, в динамическом SQL-запросе?


Я хочу получить данные из таблицы разделенной запятыми в виде одной строки в динамическом sql запросе

Что я уже пробовал:

DECLARE @COLUMNS NVARCHAR(max)
SELECT @COLUMNS = 
  CM.ColumnName
  FROM ICCS_StdReportTable_Master TM                                                                    
  inner join                                                
  ICCS_StdReport_Column_Master  CM                                           
  on CM.TableId=TM.TableId                                           
  where                  
  tm.RecordIdentifierKeyword in (  
   select SUBSTRING(VALUE,TM.StartPosition,TM.Length) from ICCS_MENUS MNU  
   INNER JOIN  
   ICCS_StdReportTable_Master TM   
   ON TM.TableName=SUBSTRING(VALUE,TM.StartPosition,TM.Length) 
   INNER JOIN
   ICCS_SCREENS SC
   ON SC.SCREENID=MNU.SCREENID
   AND MNU.MENUID=117)

2 Ответов

Рейтинг:
2

OriginalGriff

Вообще говоря, это плохая идея - легко вставить исходные значения, но с этого момента это значительно усложняет все остальное. Гораздо лучше сделать это правильно в первую очередь, с отдельной таблицей и внешним ключом обратно в оригинал.

Но это может помочь, если вы должны это сделать: Преобразование данных, разделенных запятыми в столбце, в строки для выбора[^]