我需要记下一个SQL语句,它使用表EMP和DEPT显示以下输出。
输出:
DEPTNO DNAME LOC
---------- -------------- -------------
10 ACCOUNTING NEW YORK
EMPNO ENAME
---------- ----------
7782 CLARK
7839 KING
7934 MILLER
20 RESEARCH DALLAS
EMPNO ENAME
---------- ----------
7369 SMITH
7566 JONES
7788 SCOTT
7876 ADAMS
7902 FORD
30 SALES CHICAGO
EMPNO ENAME
---------- ----------
7499 ALLEN
7521 WARD
7654 MARTIN
7698 BLAKE
7844 TURNER
7900 JAMES
6 rows selected.
40 OPERATIONS BOSTON
no rows selected
所以我需要查询中的这个特定输出,其中首先显示dept信息,然后显示子表中的所有相应记录。
答案 0 :(得分:1)
从我的角度来看,这项任务并不像看起来那么简单。好吧,我的SQL * Plus功能可能不像以前那样好。主要问题是如何让EMP表的标题重复每个部门(不,我不知道该怎么做)。
我设法产生的最接近的结果是:
SQL> col deptno format 999999
SQL> col dname format a10
SQL> col loc format a10
SQL> set linesize 30
SQL> set recsep off
SQL> break on deptno on dname on loc
SQL>
SQL> select d.deptno, d.dname, d.loc, e.empno, e.ename
2 from dept d left join emp e on e.deptno = d.deptno
3 order by d.deptno;
DEPTNO DNAME LOC
------- ---------- ----------
EMPNO ENAME
---------- ----------
10 ACCOUNTING NEW YORK
7839 KING
7782 CLARK
7934 MILLER
20 RESEARCH DALLAS
7902 FORD
7369 SMITH
7566 JONES
30 SALES CHICAGO
7900 JAMES
7844 TURNER
7654 MARTIN
7521 WARD
7499 ALLEN
7698 BLAKE
40 OPERATIONS BOSTON
13 rows selected.
一旦你,Enferno(或任何其他人)成功地获得了所要求的内容,我真的很想看到最终的代码。