1樓:匿名使用者
select
部門,sum( case when 職稱 = '教授' then 業績點數 else 0 end ) as [教授],
sum( case when 職稱 = '副教授' then 業績點數 else 0 end ) as [副教授],
sum( case when 職稱 = '講師' then 業績點數 else 0 end ) as [講師],
sum( case when 職稱 = '助教' then 業績點數 else 0 end ) as [助教]
from
表group by部門
2樓:匿名使用者
樓主要實現的是動態列吧!
實現動態咧,一般分為兩個步驟
第一步,動態拼接sql,如下:
select 'sum( case when 職稱 = '''職稱''' then 業績點數 else 0 end ) as '||職稱,
from 資料表
group by 職稱
第二步:將面得到的結果迴圈拼接起來,在組裝可以得到如下sql:
select
部門,sum( case when 職稱 = '教授' then 業績點數 else 0 end ) as 教授,
sum( case when 職稱 = '副教授' then 業績點數 else 0 end ) as 副教授,
sum( case when 職稱 = '講師' then 業績點數 else 0 end ) as 講師,
sum( case when 職稱 = '助教' then 業績點數 else 0 end ) as 助教
from
表group by
部門這樣基本上就能實現樓主的需求了。
3樓:
create view myview as
select distinct 部門,
教授=(select sum(業績點數) from tablename a where a.部門=tablename.部門 and 職稱='教授' ),
副教授=(select sum(業績點數) from tablename a where a.部門=tablename.部門 and 職稱='副教授' ),
講師=(select sum(業績點數) from tablename a where a.部門=tablename.部門 and 職稱='講師' ),
助教=(select sum(業績點數) from tablename a where a.部門=tablename.部門 and 職稱='助教' )
from tablename
sql server的使用者名稱和密碼怎麼查
1.大多數 windows 使用者都需要一個 sqlserver 登入名以便連線到 sqlserver。本主題說明了如何建立 sqlserver 登入名。2.建立使用 windows 身份驗證 sql server management studio 的sql server 登入名3.在 sqlse...
SqlServer怎麼按照getdate 獲得1號的日期
select dateadd mm,datediff mm,0,getdate 0 或者select dateadd dd,datepart dd,getdate 1,getdate sql時間函式getdate 是指本機還是伺服器上的時間?sql時間函式getdate 是指資料庫所在伺服器上的系統...
sqlserver怎麼匯出資料庫
開啟服務管理器 開啟服務 開啟企業管理器 找到你要匯出的資料庫,右鍵 所有任務 匯出資料庫 下一步再點選下一步 下一步選擇第一個選項,下一步 全選 下一步 匯出成功 sqlserver怎麼匯出資料庫 方法 步驟 1開啟服務管理器 2開啟服務 3開啟企業管理器 4找到你要匯出的資料庫,右鍵 所有任務 ...