SQL, как сделать стержень одного столбца, независимо от данных

Мне в основном нужно изменить несколько строк в одну строку

Так что в основном у меня есть следующие результаты

myId apple bear tiger 

и я хочу изменить это на apple | bear | tiger но как я могу сделать это с помощью стержня, не зная, каков будет результат данных? Я пытался

SELECT * FROM (SELECT TOP (3) myId FROM myTable) src PIVOT (max (myId ) FOR myId IN ([1], [2], [3])) piv;

но данные не являются [1], [2], [3]

Вы можете использовать ROW_NUMBER () для номера строк и использовать ручную ось для преобразования их в поля;

 WITH cte AS ( SELECT myId, ROW_NUMBER() OVER (ORDER BY myId) rn FROM mytable ) SELECT MAX(CASE WHEN rn=1 THEN myId END) field1, MAX(CASE WHEN rn=2 THEN myId END) field2, MAX(CASE WHEN rn=3 THEN myId END) field3 FROM cte; 

SQLfiddle для тестирования .