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

SQL Ayuda

Estas en el tema de SQL Ayuda en el foro de Bases de Datos General en Foros del Web. Sean tan amables companeros/as del foro de recibir un cordial saludo de mi parte, estoy haciendo una assignacion (tarea) de mi clase de base de ...
  #1 (permalink)  
Antiguo 09/10/2006, 09:19
 
Fecha de Ingreso: enero-2004
Mensajes: 43
Antigüedad: 20 años, 3 meses
Puntos: 0
SQL Ayuda

Sean tan amables companeros/as del foro de recibir un cordial saludo de mi parte, estoy haciendo una assignacion (tarea) de mi clase de base de datos pero ha sido ya bastante desde la ultima vez que trabaje con sentencias de SQL, mucho les sabria agradecer su colaboracion.

La situacion es la siguiente: tengo las siguientes tablas (las primary_key van a estar en mayuscula)

CM (compania)
(division, DEPT, presupuesto)

EM (empleado, su ciudad, y el departamento al que pertenece)
(SS#, nombre, ciudad, telefono, dept, salario)

PR (proyecto, director del proyecto, ubicacion del projecto, y el departamento que conduce el projecto)
(P#, director_ss#, ciudad, dept)

EP (empleados en el proyecto)
(P#,SS#)

CR (Curso ofrecido)
(C#, cnombre, profesor_ss#)

ER (inscripcion)
(C#, SS#, nota_obtenida)

Cada departamento tiene uno o mas empleados, y dirige cero o mas proyectos. Un empleado puede tomar cero o mas cursos y trabajar en cero o mas proyectos (incluyendo los proyectos dirigidos por otro departamento). Cada Proyecto tiene uno o mas empleados trabajando en el, y cada curso tiene uno o mas empleados inscritos en si. Los campos SS#, profesor_ss# y director_ss# son numeros de seguro social de empleado.

las preguntas son las siguientes:

1) seleccione los nombres para los empleados que son ambos profesores y directores de proyectos...(yo la hice de la siguiente manera pero no estoy seguro):

SELECT DISTINCT EM.nombre, EM.SS#
FROM EM, CR
WHERE EM.SS#=CR.PROFESOR_SS#
INTERSECT
SELECT DISTICNT EM.NOMBRE
FROM EM
WHERE EM.SS#=PR.DIRECTOR_SS#

2)obtenga los departamentos (DEPT) para los cuales "algunos" empleados en ese departamento este tomando cualquier curso.

3) seleccione el departamento, presupuesto, total del numero de proyectos controlados por cada departamento, NOTA: incluso si el departamento no dirige ningun proyecto el departamento deberia aparecer en la lista, (supongo que debe ser aceptando valores NULL).

4)seleccion nombres para empleados quienes toman curso ensenado por un profesor de una ciudad diferente a la del empleado.

5)seleccione P# para los proyectos en los cuales participa empleados de cada departamento de la compania, en otras palabras, el proyecto es seleccionado si cada departamento en la compania tiene algunos empleados participando en ese proyecto. puede usar doble negacion o COUNT para esta pregunta.

De verdad les agradezco muchisimo cualquier ayuda que me puedan facilitar., que tengan un feliz dia.
:)
  #2 (permalink)  
Antiguo 18/10/2006, 17:39
Avatar de landa02  
Fecha de Ingreso: junio-2006
Ubicación: Xalapa, Veracruz, México
Mensajes: 42
Antigüedad: 17 años, 10 meses
Puntos: 0
Un poco de prisa

Disculpa tengo un poco de prisa asi que solo de momento creo poderte ayudar con dos quiza mañana me de un poco mas de tiempo y te pueda ayudar con los otros pero como este es mi mensaje treinta no lo queria posponer , asi que te mando lo siguiente:
1) en el primero no se si son empleados que son profesores y directores de proyectos, y como asi lo entendi:
select nombre from EM where nombre=(select nombre from CR where nombre = (select nombre from PR)
o
Select nombre from EM where EM.nombre= CR.nombre and CR.nombre=PR.nombre (creo )

2) select depto from EM where SS# = (select SS# from ER)

ojala y esto te sirva de ser asi por favor asmelo saber para que termine lo que empeze, suerte
__________________
Lo mejor es vivir la vida minuto a minuto
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 00:25.