Oracle - No doy mas

   
Vista:
Imágen de perfil de Francisco gonzalez

No doy mas

Publicado por Francisco gonzalez (1 intervención) el 03/05/2016 19:10:56
que ta gente... si alguien me puede ayudar se los agradeceria.. lo que pasa es ya no doy mas para hallar la informacion solicitada (soy nuevo en sql) (tarea de la Uni) en donde me piden esto
"6- Liste los empleados que tengan salarios iguales entre departamentos."
y esto es lo que he hecho

select count(deptno) deptno, ename, sal from emp
group by deptno

esta adjunto el cuadro de la tablar (imagen comprimida)
obviamente esta mal porque no me arroja los valores deseados.. espero me puedan ayudar
saludos desde panama
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

No doy mas

Publicado por Anibal Ralda (2 intervenciones) el 11/05/2016 21:56:34
Intenta esto.

select e1.empno, e1.ename, e1.sal, e1.deptno,e2.empno, e2.ename, e2.sal, e2.deptno
from emp e1, emp e2
where e1.sal = e2.sal
and e1.empno <> e2.empno

select e1.empno, e1.ename, e1.sal, e1.deptno,e2.empno, e2.ename, e2.sal, e2.deptno
from emp e1
inner join emp e2
on e1.sal = e2.sal
and e1.empno <> e2.empno

Posiblemente te muestra datos repetidos, porque el que esta inicialmente en un departamento, coincidirá con el que está en otro con el mismo sueldo.

Te recomiendo que refuerces Algebra de Conjuntos o simplemente teoría de conjuntos y algo de probabilidades por el tema de combinaciones y permutaciones, pero más algebra de conjunto y lógica de conjuntos, puesto que debes imaginarte cómo vas a unir el conjunto "A" con el conjunto "B", en el ejemplo que tu envías, lo que se hace es colocar dos alias al mismo conjunto para poder tener una copia de este.

emp e1 y emp e2, ambos son la misma tabla pero al referenciarla dos veces tienes en tu universo, dos veces el mismo conjunto para jugar con las combinaciones y/o permutaciones.

En tu caso Ward tiene el mismo sueldo que Martin, cuando se evalúa a Ward del conjunto e1, lo encuentra con el mismo sueldo de Martin del conjunto e2, (toma el primer registro), sigue el recorrido por el conjunto e1 y llega al registro de Martin, siempre el conjunto e1, y trata de compararlos con los registro de e2 y encuentra que Ward tiene el mismo sueldo, (toma el registro 2).

En el primer caso Ward tiene el mismo salario que Martin
En el segundo caso Martin tiene el mismo Salario que Ward.

Saludos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar