教師號 星期號 是否有誤
1 2 有
1 3 有
2 1 有
3 2 有
1 2 有
轉為:
教師號 星期一 星期二 星期三
1 2 1
2 1
3 1
通過sql將上面的的記錄轉為下面這樣顯示該怎樣弄,求教各位大神啊
uj5u.com熱心網友回復:
樓主百度一下“行轉列“,有問題再來追問;uj5u.com熱心網友回復:
1、先去重,可以考慮開創函式 over (partition by ...);2、在考慮行轉列、列轉行,Oracle里有 pivot和unpivot;
3、最好貼格式化代碼和截圖,準備給你建個表導資料試一下的,但是沒明白具體需求,先上班了,有問題再問。
uj5u.com熱心網友回復:
1、先去重,可以考慮開窗函式 over (partition by ...);2、再考慮行轉列、列轉行,Oracle里有 pivot和unpivot;
3、最好貼格式化代碼和截圖,準備給你建個表導資料試一下的,但是沒明白具體需求,先上班了,有問題再問。
【上面一個帖子太匆忙有錯別字】
uj5u.com熱心網友回復:
--樓主資料描述不清楚 只能猜測 如下SQL> with t("教師號",b,c) as (
2 select '1' ,'2' ,'有' from dual
3 union all
4 select '1' ,'3' ,'有' from dual
5 union all
6 select '2' ,'1' ,'有' from dual
7 union all
8 select '3' ,'2' ,'有' from dual
9 union all
10 select '1' ,'2' ,'有' from dual)
11 SELECT * FROM (
12 SELECT "教師號",b FROM T WHERE c ='有')
13 PIVOT (COUNT(*) FOR b IN ('1' AS "星期一",'2' AS "星期二",'3'AS "星期三"))
14 ORDER BY 1
15 /
教師號 星期一 星期二 星期三
------ ---------- ---------- ----------
1 0 2 1
2 1 0 0
3 0 1 0
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/76461.html
標籤:開發
上一篇:Oracle存盤程序
