一維表轉換成二維表

2021-04-20 01:03:46 字數 1006 閱讀 9365

晚上回到宿舍,舍友問起我今天他們筆試的乙個題目:

如何把乙個一維表轉換成二維表   

sql查詢該如何寫呢?  

一維表table a如下:  

年級         課目             人數  

2001         語文               20  

2001         數學               15  

2002         語文               20  

2002         數學               15          

2003         語文               20  

2003         數學               15   

如何轉換成如下格式的二維表:   

語文         數學   

2001           20                   15   

2002           20                   15   

2003           20                   15  

對於這類問題,有兩種方法:一種是直接寫,

通過原來的一維表a,構造出新的表。首先,查詢出所需的表的列,分別是年級、科目(這裡直接寫的方法必須是要知道表a 科目的值,一一枚舉),然後通過復合查詢,將各個科目的分數分別賦給其科目。

select   年級,(select   人數   from   tablename   a   where   a.年級=b.年級   and   a.課目='數學')   as   數學   ,(select   人數   from   tablename   a   where   a.年級=b.年級   and   a.課目='語文')   as   語文     from   tablename   b   group   by   年級   order   by   年級

另外一種是動態sql的方法。

EXCEL VBA 二維表轉換成一維表

excel vba 二維表轉換成一維表 sub 按鈕2 click rem 初始化 worksheets 1 activate dim sizearr 5 sizearr 0 xs sizearr 1 s sizearr 2 m sizearr 3 l sizearr 4 xl dim col,ro...

二維「陣列」轉換成二維「指標」

查詢了下資料,發現了論壇大家的討論。我們先看下二維陣列與二級指標問題 cannot convert from double 10 10 to double 例如 double arry 5 10 double pp pp arry 直接的賦值會提示錯誤 cannot convert from dou...

集合轉換成二維陣列

name month value 北京大廈 8 10000 南京大廈 6 4577 南京大廈 7 20222 南京大廈 8 23575 港匯大廈 7 14545 港匯大廈 8 54342 現在得到的上面的值,寫個方法把它儲存成以下格式 對應每個月相應的月份 北京大廈,0,0 0,0,0,0 0 10...