#b.
Obtener el numero de proyectos a los cuales esta asignado cada científico,
mostrar el nombre del clentifico, el dni y la cantidad de proyectos asignados
SELECT COUNT([Link]) CANTIDAD,
[Link] DNI,
[Link] NOMBRE,
[Link] PROYECTO
FROM
asignado_a A
INNER JOIN cientificos C INNER JOIN proyecto P ON
[Link] = [Link] AND [Link] = [Link]
GROUP BY
[Link];
#Obtener el numero de cientificos asociados a cada proyecto, mostrar el
identificador del proyecto y el nombre del proyecto.
SELECT COUNT([Link]) CANTIDAD_CIENTIFICOS,[Link] ID_PROYECTO, [Link] PROYECTO FROM
cientificos C
INNER JOIN asignado_a A ON [Link] = [Link]
INNER JOIN proyecto P ON [Link] = [Link]
GROUP BY ([Link]);
#d. Obtener el numero de horas dedicadas de cada científico.
SELECT [Link] DNI, [Link] Nombre, SUM([Link]) Total_Horas
FROM asignado_a A
INNER JOIN cientificos C
INNER JOIN proyecto P ON [Link] = [Link]
AND [Link] = [Link]
GROUP BY [Link];
#e. Listar los nombres de los científicos que han participado en mas de dos
proyectos.
SELECT COUNT([Link]) PROYECTOS, [Link] NOMBRE FROM cientificos C
INNER JOIN asignado_a A
ON [Link] = [Link]
GROUP BY ([Link])
HAVING (COUNT([Link]) > 2);
#f. Listar los científicos que no han participado en ningún proyecto
SELECT [Link], [Link] NOMBRE FROM asignado_a A
RIGHT JOIN cientificos C
ON [Link] = [Link]
WHERE [Link] is null;
#g. Obtener los proyectos que no han sido trabajado por ningún científico
SELECT P.* FROM proyecto P
LEFT JOIN asignado_a A
ON [Link] = [Link]
WHERE [Link] is null;
#h. Crear una función que retorne la cantidad de proyectos que se tienen dentro
del proceso de investigacion
//More
DELIMITER $$
CREATE DEFINER=root@localhost FUNCTION np() RETURNS int(11)
BEGIN
DECLARE var int default 0;
SELECT count(DISTINCT([Link]))
INTO var
FROM asignado_a A;
RETURN var;
END$$
DELIMITER ;