Редактирование по запросу. Мне удалось получить данные из длинной строки в таблицу, поэтому вопрос в какой-то степени изменился.
Мой вопрос в том, как мне получить результаты, полученные на основе совпадения ВСЕХ значений, переданных через запятую. строка с разделителями?
Я могу и использовал STRING_SPLIT
. Проблема, с которой я сталкиваюсь, заключается в том, что при использовании строки, разделенной на IN
или INNER JOIN
или OUTER APPLY
или CROSS APPLY
, строка возвращается, если какое-либо одно (01) значение в переданной строке значений соответствует значению (значениям) в столбец строки; НЕ ВСЕ значения в строке.
Опять же, важным моментом является то, что возвращаемые строки должны соответствовать ВСЕМ значениям из STRING_SPLIT
значений, переданных в символьной строке.
Кроме того, как уже было запрошено, вот пример таблицы, макет кода и ожидаемые результаты:
Код:
DECLARE @VALUES NVARCHAR(100) = 'X,G'
SELECT T5.COL1, T5.COL2, STRING_AGG(TRIM(TABLE1.COL3),', ') AS UNIQUE_STRING_OF_VALUES
FROM [SOME_DB].[dbo].[TABLE1] AS T5
INNER JOIN STRING_SPLIT(@VALUES, ',') AS T10 ON T10.VALUE = T5.COL3
GROUP BY T5.COL1, T5.COL2
ORDER BY T5.COL1 ASC, T5.COL2 ASC
введите описание изображения здесь