現有
scott
使用者下的
emp和
dept表
empempno
number(4)
ename
varchar2(10)
jobvarchar2(9)
mgrnumber(4)
hiredate
date
salnumber(7,2)
comm
number(7,2)
deptno
number(2)
dept
deptno
number(2)
dname
varchar2(14)
locvarchar2(13)
統計不同部門和工作的員工的總工資
實現橫標轉換為縱表
decode
實現select
d.dname dname,
sum(decode(e.job,
'clerk'
, e.sal,
0)) clerk,
sum(decode(e.job,
'salesman'
, e.sal,
0)) salesman,
sum(decode(e.job,
'analyst'
, e.sal,
0)) analyst,
sum(decode(e.job,
'manager'
, e.sal,
0)) manager,
sum(decode(e.job,
'president'
, e.sal,
0)) president
from
emp e
join
dept d on
e.deptno = d.deptno
group
byd.dname;
case when
實現select
d.dname dname,
sum(
case
e.job
when
'clerk'
then
e.sal
else0
end
) clerk,
sum(
case
e.job
when
'salesman'
then
e.sal
else0
end
) salesman,
sum(
case
e.job
when
'president'
then
e.sal
else0
end
) president,
sum(
case
e.job
when
'manager'
then
e.sal
else0
end
) manager,
sum(
case
e.job
when
'analyst'
then
e.sal
else0
end
) analyst
from
emp e
join
dept d on
e.deptno = d.deptno
group
byd.dname;
帶合計項的
select
d.dname dname,
sum(decode(e.job,
'clerk'
, e.sal,
0)) clerk,
sum(decode(e.job,
'salesman'
, e.sal,
0)) salesman,
sum(decode(e.job,
'analyst'
, e.sal,
0)) analyst,
sum(decode(e.job,
'manager'
, e.sal,
0)) manager,
sum(decode(e.job,
'president'
, e.sal,
0)) president
from
emp e
join
dept d
one.deptno = d.deptno
group
byd.dname
union
select'總計
'dname,
sum(decode(e.job,
'clerk'
, e.sal,
0)) clerk,
sum(decode(e.job,
'salesman'
, e.sal,
0)) salesman,
sum(decode(e.job,
'analyst'
, e.sal,
0)) analyst,
sum(decode(e.job,
'manager'
, e.sal,
0)) manager,
sum(decode(e.job,
'president'
, e.sal,
0)) president
from
emp e
join
dept d2
one.deptno = d2.deptno
資料庫之橫表轉縱表 縱表轉橫表
橫表變縱表或縱表變橫表 成績表如下 name course grade 張三 語文 95 張三 數學 90 張三 英語 89 李四 語文 92 李四 數學 88 李四 英語 97 變成姓名 語文 數學 英語 張三 95 90 89 李四 92 88 97 縱表轉橫表create table biao...
縱表轉橫表sql
縱表結構 fname ftype fvalue 小明 zaocan 10 小明 zhongcan 20 小明 wancan 5 轉換後的表結構 fname zaocan value zhongcan value wancan value 小明 10 20 5 縱表轉橫表sql如下 select fn...
Oracle 橫表和縱表
前一段時間了解到的,今天有空寫下,備忘 先來說說橫表和縱坐表的概念,先來看看以下兩圖 第一張圖就是橫表,一行表示了乙個實體記錄,這就是我們傳統的設計表的形式 第二張圖就是縱表,他的一行記錄,是用於表示某個學生的屬性名和屬性值對應關係,像這邊有兩個屬性 名字和性別 在縱表中就要用兩條記錄來表示乙個學生...