表結構:
序號字段 中文名稱 型別 說 明
1 reportid number(4) 報告編號
2 recordno number 記錄號
3 fieldno number(2) 字段編號
4 datum varchar(200) 值
reportid recordno fieldno datum
1 1 1 王小強
1 1 2 武漢市江漢區王家路
1 1 3 2010-01-12
1 1 4 65783213
1 1 5 否
1 2 1 劉章節
1 2 2 武昌區中南路
1 2 3 1950-04-12
1 2 4 13995094532
1 2 5 已婚
oracle動態生成查詢交叉表
select max(a1) as 姓名, max(a2) as 位址, max(a3) as 出生, max(a4) as **, max(a5) as 婚否
from (select recordno,
nvl(decode(fieldno, 1, datum), '') a1,
nvl(decode(fieldno, 2, datum), '') a2,
nvl(decode(fieldno, 3, datum), '') a3,
nvl(decode(fieldno, 4, datum), '') a4,
nvl(decode(fieldno, 5, datum), '') a5
from rep_register
where reportid = 1
and recordno = (select recordno
from rep_register
where fieldno = 2
and datum like '武漢市%'))
group by recordno
reportid=1為需要查詢的報告號
再下面為其它查詢條件
oracle動態交叉表
有一張表 id name quarter quantity 1 開發部 春天 10000 2 開發部 夏天 50000 3 開發部 秋天 30000 4 開發部 冬天 20000 5 銷售部 春天 10000 6 銷售部 夏天 4000 7 銷售部 秋天 30000 8 銷售部 冬天 20000 想...
SQL動態交叉表
動態交叉表就是列表可以根據表中資料的情況動態建立列。動態查詢不能使用 select 語句實現,它可以利用儲存過程實現。思路是 首先檢索列頭資訊,形成乙個游標,然後遍歷游標,將上面靜態交叉表實現過程中使用 case 語句判斷的內容用游標裡的值替代,形成一條新的 sql查詢語句,然後執行並返回結果。下面...
動態交叉表總結
declare sql varchar 8000 看論壇裡討論動態交叉表這麼多貼,小結了一下.其實建立動態交叉表裡是應用了遞迴的select變數這種概念,遞迴的select變數可以使用select語句和子查詢將乙個變數與其自身拼接起來。乙個標準的建立動態交叉表的code我歸納如下 declare s...