Ir para conteúdo

Arquivado

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

PauloTI

[Resolvido] Questão/Oracle

Recommended Posts

Pessoal segue a pergunta abaixo.

 

 

Crie uma função ou procedure na base de dados que receba como parâmetro um código de departamento e determine o MGR(código do gerente) do gerente do departamento (MANAGER).

Caso o departamento não tenha gerente, Deverá ser escolhido o MGR do funcionário com maior cargo deste departamento ( se existir mais de um, obtenha o MGR do funcionário mais velho e com maior cargo).

 

Assim.. eu acho que até consegui fazer... mas tem uma parte que me deixa meio em duvida.

 

" Caso o departamento não tenha gerente, Deverá ser escolhido o MGR do funcionário com maior cargo deste departamento ( se existir mais de um, obtenha o MGR do funcionário mais velho e com maior cargo). "

 

Como definir em uma tabela o " maior cargo " ?

 

Valeu pessoal att. \o

Compartilhar este post


Link para o post
Compartilhar em outros sites
Como definir em uma tabela o " maior cargo " ?

 

select max(cargo)
from empregados
where ...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Publica a DESC da tabela

 

 

 

 

AQUI mota.

 

EMPNO NUMBER(4)

ENAME VARCHAR2(20)

JOB VARCHAR2(20)

MGR NUMBER(4)

HIREDATE DATE

SAL NUMBER(7,2)

COMM NUMBER(7,2)

DEPTNO NUMBER(2)

SEXO CHAR(1)

 

e obrigado novamente!

Compartilhar este post


Link para o post
Compartilhar em outros sites

O maior cargo seria o maior salário ?

 

select depto,job,sal
from employees e1
where sal = (select max(sal)
            from employees e2
            where e2.depto = e1.depto)

Compartilhar este post


Link para o post
Compartilhar em outros sites

O maior cargo seria o maior salário ?

 

select depto,job,sal
from employees e1
where sal = (select max(sal)
            from employees e2
            where e2.depto = e1.depto)

 

 

Então por isso ficou a minha duvida.. de puxar " Maior Cargo " bom pede apenas maior Cargo.. nada além.. mas indo pela lógica de quem tem o maior Cargo..realmente ganha o maior salario.. podemos dizer que sim.. ta certo rs

 

 

obs: mas você me ajudou mais uma vez " em algo que eu não sabia " você fez JOIN.. e eu não entendi por que.. " e sempre que eu tentava buscar o maior salario de um departamento especifico me trazia 2 resultados.. e além do departamento certo.. me trazia um errado.. exemplo:

 

 

SELECT ENAME,
      SAL,
      JOB,
      DEPTNO
FROM EMP A
WHERE SAL IN(SELECT MAX(SAL)
             FROM EMP B
             WHERE DEPTNO = 30)

 

Isso da ERRO além do 30 traz o 40.

 

Mas dessa forma..

 

SELECT ENAME,
      SAL,
      JOB,
      DEPTNO
FROM EMP A
WHERE SAL IN(SELECT MAX(SAL)
             FROM EMP B
             WHERE A.DEPTNO = B.DEPTNO
             AND DEPTNO = 30)

 

Retorna apenas o do 30 certinho.. Join na própria tabela hehe..

 

Valeu mota!

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.