Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

renalfuck

Comparação de colunas

Recommended Posts

SQL> SELECT ENAME, MGR

2 FROM EMP

3 WHERE MGR IN ( SELECT EMPNO

4 FROM EMP

5 WHERE MGR = EMPNO);

 

não há linhas selecionadas

 

Gostaria de entender o porque de não "haver linhas selecionadas", não consigo entender esta expressão, já que preciso trazer os nomes dos funcionarios que possuem subordinados, como faço para comparar colunas ??

Compartilhar este post


Link para o post
Compartilhar em outros sites

SELECT ENAME, MGR

FROM EMP

 

retorna o que ?

 

---------

 

... não há linhas selecionadas ...

Nenhum registro atendeu a condição estabelecida.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Existem registros na tabela ?

 

A integrigade EMPNO x MGR está legal ?

 

Já usei CONNECT BY e funciona bem.

Compartilhar este post


Link para o post
Compartilhar em outros sites

SQL> SELECT MGR, COUNT(*) FROM EMP

2 GROUP BY MGR;

 

MGR COUNT(*)

---------- ----------

1

7839 3

7782 1

7698 5

7902 1

7566 2

7788 1

 

7 linhas selecionadas.

 

MAIS OU MENOS ISSO AQUI SÓ QUE EU TENHO QUE MOSTRAR O NOME DOS FUNCIONARIOS QUE POSSUEM SUBORDINADOS PELO CODIGO DO GERENTE "mgr".

Compartilhar este post


Link para o post
Compartilhar em outros sites

SELECT ENAME, MGR

FROM EMP

start with mgr = 1

CONNECT BY PRIOR EMPNO = MGR;

Compartilhar este post


Link para o post
Compartilhar em outros sites

SQL> SELECT ENAME, MGR

2 FROM EMP

3 start with mgr = 1

4 CONNECT BY PRIOR EMPNO = MGR;

 

não há linhas selecionadas

 

ele não encontrou nada porem, os valores que preciso achar existem !

Compartilhar este post


Link para o post
Compartilhar em outros sites

SQL> desc emp

Nome Nulo? Tipo

----------------------------------------- -------- ----------------------------

EMPNO NOT NULL NUMBER(4)

ENAME CHAR(10)

JOB CHAR(9)

MGR NUMBER(4)

HIREDATE DATE

SAL NUMBER(7,2)

COMM NUMBER(7,2)

DEPTNO NOT NULL NUMBER(2)

 

espero que ajude

Compartilhar este post


Link para o post
Compartilhar em outros sites

SELECT *

FROM EMP

 

Retorna o que ?

 

Existem gerentes ligados aos funcionários ?

 

Este erro parace não fazer sentido.

Compartilhar este post


Link para o post
Compartilhar em outros sites

SQL> select * from emp;

 

EMPNO ENAME JOB MGR HIREDATE SAL COMM

---------- ---------- --------- ---------- -------- ---------- ----------

DEPTNO

----------

7839 KING PRESIDENT 17/11/81 5000

10

 

7698 BLAKE MANAGER 7839 01/05/81 2850

30

 

7782 CLARK MANAGER 7839 09/06/81 2450

10

 

 

EMPNO ENAME JOB MGR HIREDATE SAL COMM

---------- ---------- --------- ---------- -------- ---------- ----------

DEPTNO

----------

7566 JONES MANAGER 7839 02/04/81 2975

20

 

7654 MARTIN SALESMAN 7698 28/09/81 1250 1400

30

 

7499 ALLEN SALESMAN 7698 20/02/81 1600 300

30

 

 

EMPNO ENAME JOB MGR HIREDATE SAL COMM

---------- ---------- --------- ---------- -------- ---------- ----------

DEPTNO

----------

7844 TURNER SALESMAN 7698 08/09/81 1500 0

30

 

7900 JAMES CLERK 7698 03/12/81 950

30

 

7521 WARD SALESMAN 7698 22/02/81 1250 500

30

 

 

EMPNO ENAME JOB MGR HIREDATE SAL COMM

---------- ---------- --------- ---------- -------- ---------- ----------

DEPTNO

----------

7902 FORD ANALYST 7566 03/12/81 3000

20

 

7369 SMITH CLERK 7902 17/12/80 800

20

 

7788 SCOTT ANALYST 7566 09/12/82 3000

20

 

 

EMPNO ENAME JOB MGR HIREDATE SAL COMM

---------- ---------- --------- ---------- -------- ---------- ----------

DEPTNO

----------

7876 ADAMS CLERK 7788 12/01/83 1100

20

 

7934 MILLER CLERK 7782 23/01/82 1300

10

 

 

Espero que ajude

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.