07/03/2008, 05:32
|
| | Fecha de Ingreso: febrero-2007
Mensajes: 1.292
Antigüedad: 17 años, 9 meses Puntos: 13 | |
Re: 2 consultas sql Persona(Nro_Doc, nombre)
Proyecto(id_proy, nom_proy)
Trabaja(Nro_Doc, id_proy)
select per.nombre, proy.nom_proy
from persona per
left join trabaja t on t.nro_doc = per.nro_doc
left join proyecto proy on proy.id_proy ?= t.id_proy
esto te saca todas las personas y el proyecto en el que han trabajado, si no han trabajado en ningun proyecto sale null
select per.nombre, count(distinct t.id_proy)
from persona per
join trabaja t on t.nro_doc = per.nro_doc
join proyecto proy on proy.id_proy ?= t.id_proy
where count(distinct t.id_proy) = (select count(distinct id_proy) from proyecto);
Esto te saca las personas que hayan trabajado en 'x' proyectos cuando 'x' sea el numero de proyectos que tienes registrado en la tabla proyecto. Es decir han trabajado en todos los proyectos.
Si no entiendes algo...
Un saludo |