-3

従業員と部門の 2 つのテーブルのデータを表示したいと考えています。部門の詳細を表示し、次にその部門に関連するすべての従業員を表示する必要があります。これは私が表示したい方法です:

    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

付録

SQL> select * from emp;

     EMPNO ENAME      JOB              MGR HIREDATE         SAL       COMM     DEPTNO
---------- ---------- --------- ---------- --------- ---------- ---------- ----------
      7369 SMITH      CLERK           7902 17-DEC-80        800                    20
      7499 ALLEN      SALESMAN        7698 20-FEB-81       1600        300         30
      7521 WARD       SALESMAN        7698 22-FEB-81       1250        500         30
      7566 JONES      MANAGER         7839 02-APR-81       2975                    20
      7654 MARTIN     SALESMAN        7698 28-SEP-81       1250       1400         30
      7698 BLAKE      MANAGER         7839 01-MAY-81       2850                    30
      7782 CLARK      MANAGER         7839 09-JUN-81       2450                    10
      7788 SCOTT      ANALYST         7566 19-APR-87       3000                    20
      7839 KING       PRESIDENT            17-NOV-81       5000                    10
      7844 TURNER     SALESMAN        7698 08-SEP-81       1500          0         30
      7876 ADAMS      CLERK           7788 23-MAY-87       1100                    20

     EMPNO ENAME      JOB              MGR HIREDATE         SAL       COMM     DEPTNO
---------- ---------- --------- ---------- --------- ---------- ---------- ----------
      7900 JAMES      CLERK           7698 03-DEC-81        950                    30
      7902 FORD       ANALYST         7566 03-DEC-81       3000                    20
      7934 MILLER     CLERK           7782 23-JAN-82       1300                    10
4

1 に答える 1

1

SQL は、セットベースの生データを取得するように設計されており、そのような形式で表示するのではありません。あなたができる最善のことは、正しい順序でデータを取得することです-

SELECT
  DEPTNO,
  DEPT.LOC,
  EMPNO,
  ENAME
FROM EMP INNER JOIN DEPT
  ON EMP.DEPTNO=DEPT.KEY-FIELD
ORDER BY 1,3

.. 次に、いくつかのレポート ツールを使用してセクションに分割します。

(そして、それが実際の給与情報ではなく、ダミーのテストデータであることを願っています:)

于 2013-03-16T12:14:40.793 に答える