2016-11-25 2 views
1

У меня есть таблица со студенческим именем и студенческим городом. Эта таблица используется, чтобы узнать, какой студент зарегистрировал онлайн-курс из какого города.SQL - преобразование столбца в строку в отчете

Таблица - StudentCity

Name    City 

Anand    Mumbai 

Vinod    Mumbai 

Shailesh   Pune 

Rupali    Delhi 

Annavi    Pune 

Arunabha   Kolkata 

мне нужен отчет в следующем формате:

Mumbai Pune  Delhi Kolkata 

Anand 

Vinod 
      Shailesh 
        Rupali 
      Annavi 
          Arunabha 

Я пытаюсь найти способ, чтобы я мог использовать рекурсивный SQL для этого. Но до сих пор не удалось.

Может кто-то помочь мне в этом.

+0

'PIVOT' - ваш друг здесь. –

+0

Чтобы получить улучшенный ответ, вы должны добавить схему таблицы и некоторые данные. – McNets

+0

@mcNets Существует достаточная схема таблицы и данные для воспроизведения сценария. –

ответ

0

Я возвращаю свой комментарий. Вы можете сделать это вместо того, чтобы:

SELECT 
    CASE City WHEN 'Mumbai' THEN Name END AS Mumbai, 
    CASE City WHEN 'Pune' THEN Name END AS Pune, 
    CASE City WHEN 'Delhi' THEN Name END AS Delhi, 
    CASE City WHEN 'Kolkata' THEN Name END AS Kolkata 
FROM tab 

Вы можете увидеть это в действии здесь ->http://rextester.com/NYZH51845

Надежда эта помощь !!!

+0

Спасибо за решение. – Saikat

+0

Для таблицы с неизвестным номером «городов», я предполагаю, что это жестко обозначенные «названия городов» не будут работать. В таком случае, какой должен быть подход? – Saikat

+0

Создайте тот же оператор, что и динамический SQL. – Rory

Смежные вопросы