回覆列表
-
1 # 用戶3742363088339428
-
2 # 小安sang
怎麼在SQL將查出的數據橫向顯示
1.打開Microsoft SQL Server Management Studio (SSMS),並登錄數據庫。
2.選項相應的數據庫後點擊【新建查詢】按鈕,打開一個新的SQL查詢窗口。
3.輸入語句 create table #成績表 (姓名 varchar(30),科目 varchar(30) ,分數 int)創建一個用於舉例的名為#成績表的臨時表。包括姓名,科目以及分數字段。
4.成績表插入一些測試數據。
insert #成績表
select '張三','語文',88 union all
select '張三','數學',92 union all
select '張三','英語',79 union all
select '李四','語文',68 union all
5.執行語句 select * from #成績表 查看,可以看到該表的數據是以“豎向”的方式存儲,每人每科目為一行顯示分數。
6.然後執行如下語句:
select 姓名,
sum(case when 科目='語文' then 分數 end) as '語文',
sum(case when 科目='數學' then 分數 end) as '數學',
即用case when 按科目拆分成3列,並用group by 語句對姓名字段進行匯總,將原來的豎向顯示轉成了橫向顯示。
說清楚點。
一個表豎著的是字段,你也可以說這列。橫著的你說它是這行數據怎麼怎麼樣。你的意思是不是在一個表A中,對於vv字段,如果vv字段中含有值x,則查出含有x的行中xx,以及cc字段的值,並將查到的值賦給表A中的n,m字段?我完全看不清楚你要表達什麼。問這類問題前最好把表發出來,就算沒表也要把表結構發出來吧。