2016-11-25 1 views
1

私は学生名と学生都市だけのテーブルを持っています。この表は、どの学生がどの都市のオンラインコースに登録しているかを調べるために使用されます。私はこのために再帰的SQLを使用できるようにする方法を見つけるためにしようとしていますSQL - レポートの列から行への変換

Mumbai Pune  Delhi Kolkata 

Anand 

Vinod 
      Shailesh 
        Rupali 
      Annavi 
          Arunabha 

: -

表StudentCity

Name    City 

Anand    Mumbai 

Vinod    Mumbai 

Shailesh   Pune 

Rupali    Delhi 

Annavi    Pune 

Arunabha   Kolkata 

は、私は次の形式でレポートを必要とします。しかし、今まで成功していない。

誰かが私に助けてくれますか?

+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

不明な数の 'cities'がリストされているテーブルの場合、このハードコードされた 'city names'は機能しません。そのような場合、どのようなアプローチが必要ですか? – Saikat

+0

動的SQLと同じステートメントを生成します。 – Rory