PL/SQL查询以这样的方式显示,应该怎么写SQL语句

求高手

没有原始表结构,只能以oracle的soctt下的dept与emp为例
with t1 as (select deptno, count(*) employees, avg(sal) avg
from scott.emp group by deptno),
s1 as (select t1.deptno,t2.dname,t1.employees, t1.avg, t3.ename, t3.sal
from t1 join scott.dept t2 on t1.deptno=t2.deptno join scott.emp t3 on t1.deptno=t3.deptno),
s2 as (select case when deptno=lag(deptno) over(order by deptno) then null else deptno end deptno,
case when deptno=lag(deptno) over(order by deptno) then null else dname end dname,
case when deptno=lag(deptno) over(order by deptno) then null else employees end employees,
case when deptno=lag(deptno) over(order by deptno) then null else avg end avg,
ename,sal
from s1)
select * from s2
温馨提示:内容为网友见解,仅供参考
第1个回答  2013-12-18
好像是2张表 但是最后两列不知道什么意思
表A 部门表 表B员工表
最后两列有点像是单独查询 表B 的结果
第2个回答  2013-12-18
题目的意思应该是以最好两列为主显示。就是说,最后两列为空的数据,则不显示。
按理来说这应该是一个多表连接查询。
第3个回答  2013-12-18
有哪些表,哪些字段,你都不给出,给出个结果,别人怎么帮你?追问

题目就这样,要求建一个表以这样的方式显示。。。

相似回答