Это запрос, я использую:Сортировка строк в исходном порядке
;WITH list (Value) AS
(
SELECT Value
FROM (
SELECT Value
FROM fn_SplitString('Quick Brown Fox',' ')
) a
), cte AS
(
SELECT Value
FROM list
UNION ALL
SELECT two.Value + ' ' + one.Value
FROM cte AS one, list AS two
WHERE two.Value > one.Value
)
SELECT *
FROM cte
выход этого будет
Quick
Brown
Fox
Quick Fox
Quick Brown
Fox Brown
Quick Fox Brown
The fn_SplitString создаст таблицу, как это. Он просто разделит все слова, разделенные пробелами на строки.
Quick
Brown
Fox
Я уже пытался задним ходом его помощью ROW_NUMBER() OVER(ORDER BY GETDATE())
и это будет выход fn_SplitString. Но все же общий результат будет таким же.
Fox
Brown
Quick
запрос выше сортирует слова/буквы в алфавитном порядке (реверсивные) для каждой строки и какой выход я нужен не сортируется в алфавитном порядке или как в примере ниже.
Ожидаемый результат
Quick
Brown
Fox
Quick Brown
Quick Fox
Brown Fox
Quick Brown Fox
или
Quick Brown Fox
Quick Brown
Quick Fox
Brown Fox
Quick
Brown
Fox
как я буду это делать?
Какое правило для 'C A B' находиться в этом конкретном порядке? – zerkms
Первое слово будет первым, последнее слово будет последним. например: «быстрая коричневая лиса» ' быстро коричневый лиса шустрая коричневая лиса быстро лиса шустрая лиса ' –
Мы должны видеть, как fn_SplitString выдает проанализированные данные. Он должен иметь возможность вернуть вам индекс, который вы можете использовать позже для сортировки –