Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Oracle »

Oracle Consulta con =!

Estas en el tema de Oracle Consulta con =! en el foro de Oracle en Foros del Web. Saludos a Todos Bueno mi consulta es la siguiente si me pudiesen ayudar se los agradezco: Primero voy a crear las tablas Creo la tabla ...
  #1 (permalink)  
Antiguo 01/03/2011, 11:49
 
Fecha de Ingreso: marzo-2011
Mensajes: 3
Antigüedad: 13 años, 9 meses
Puntos: 0
Oracle Consulta con =!

Saludos a Todos

Bueno mi consulta es la siguiente si me pudiesen ayudar se los agradezco:

Primero voy a crear las tablas

Creo la tabla departamentos

CREATE TABLE DEPARTAMENTOS(
ID NUMERIC(10),
NOMBRE VARCHAR2(30),
CONSTRAINT PRIMARIA_DEPAR
PRIMARY KEY(ID)
);

Creo la tabla empleados con llave foranea a tabla departamentos

CREATE TABLE EMPLEADOS(
ID NUMERIC(10),
NOMBRE VARCHAR2(30),
DEPARTAMENTO NUMERIC(10),
CONSTRAINT PRIMARIA_EMP
PRIMARY KEY(ID),
CONSTRAINT FORANEA_EMP_DEP
FOREIGN KEY(DEPARTAMENTO)
REFERENCES DEPARTAMENTOS(ID)
);

Ahora si inserto varias lineas

En la tabla Departamentos


INSERT INTO DEPARTAMENTOS VALUES(1,'CONTA');
INSERT INTO DEPARTAMENTOS VALUES(2,'RHH');
INSERT INTO DEPARTAMENTOS VALUES(3,'PRODUCCION');

En la tabla Empleados


INSERT INTO EMPLEADOS VALUES(1,'JUAN',1); // Pertenece a Conta
INSERT INTO EMPLEADOS VALUES(2,'PEDRO',1); // Pertenece a Conta
INSERT INTO EMPLEADOS VALUES(3,'NATALIA',2); // Pertenece a RHH

Ahora lo que quiero realizar es una consulta de los departamentos que no tienen empleados asignados:
En este caso seria que despliegue el departamento 3 el de Produccion

Entonces realizo la consulta:

SELECT *
FROM DEPARTAMENTOS, EMPLEADOS
WHERE DEPARTAMENTOS.ID != EMPLEADOS.DEPARTAMENTO;

Pero este tipo de consulta me desplieqa:

ID NOMBRE ID NOMBRE
2 RHH 1 JUAN
3 PRODUCCION 1 JUAN
2 RHH 2 PEDRO
3 PRODUCCION 2 PEDRO
1 CONTA 3 NATALIA
3 PRODUCCION 3 NATALIA

Y ahi esta el error por que lo que quiero es que me despliegue solo los departamentos que no tienen empleados y me despliega por empleado los departamentos en los cuales no esta.

Les agradezco bastante :
  #2 (permalink)  
Antiguo 01/03/2011, 12:07
Avatar de ah_puch  
Fecha de Ingreso: agosto-2005
Ubicación: Ecatepec, México
Mensajes: 180
Antigüedad: 19 años, 3 meses
Puntos: 3
Respuesta: Oracle Consulta con =!

ya intentaste con

WHERE NOT DEPARTAMENTOS.ID = EMPLEADOS.DEPARTAMENTO;
__________________
La programacion no es un trabajo, es un Arte
http://www.purodev.blogspot.com
  #3 (permalink)  
Antiguo 01/03/2011, 12:20
 
Fecha de Ingreso: marzo-2011
Mensajes: 3
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Oracle Consulta con =!

Amigo Gracias por tu respuesta

Pero no me despliega el dato aun

Saludos.
  #4 (permalink)  
Antiguo 01/03/2011, 12:53
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 15 años, 10 meses
Puntos: 360
Respuesta: Oracle Consulta con =!

Código SQL:
Ver original
  1. SQL> SELECT *FROM departamentos WHERE id NOT IN(SELECT departamento FROM empleados);
  2.  
  3.         ID NOMBRE
  4. ---------- ------------------------------
  5.          3 PRODUCCION

me imagino que esto es lo que buscas.
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #5 (permalink)  
Antiguo 01/03/2011, 14:10
 
Fecha de Ingreso: marzo-2011
Mensajes: 3
Antigüedad: 13 años, 9 meses
Puntos: 0
Respuesta: Oracle Consulta con =!

Excelente ya me sirvio...

Te lo agradezco mucho amigo

Saludos =)

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:27.