Есть ли хитрость в использовании DISTINCT не только при выборе столбцов, но и в строке, содержащейся в каждой записи? - PullRequest
0 голосов
/ 08 ноября 2011

Я использую

SELECT Distinct  [Material]  FROM Mytable

и получаю следующий результат:

Material
 --------------
 1469CDHKabef
 237BI
 237BI5

Есть ли способ отфильтровать этот вывод дальше, чтобы каждая буква, которая появляется в отдельных строках (строка)появляется только один раз?

Требуемый вывод:

12345679BCDHKIabef

или даже лучше, получить все нарезанное upp так, чтобы каждая буква / цифра заканчивалась в строке своего собственного

1 Ответ

1 голос
/ 08 ноября 2011

Ниже используется master..spt_values ​​как таблица вспомогательных номеров adhoc только для демонстрационных целей. Вы должны создать свой собственный.

WITH Numbers(N) AS
(
SELECT number
FROM master..spt_values
WHERE type='P' AND number > 0
), Materials(Material) As
(
SELECT '1469CDHKabef' UNION ALL
SELECT '237BI' UNION ALL
SELECT '237BI5'
)
SELECT DISTINCT SUBSTRING(Material,N,1)
FROM Materials
JOIN Numbers ON N <= LEN(Material)
...