Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/07/2008, 04:48
xkrlozx
 
Fecha de Ingreso: julio-2008
Mensajes: 5
Antigüedad: 15 años, 9 meses
Puntos: 1
Pregunta Devolver varios campos de una subquery

Hola a todos, tengo un problema gordo que no se resolver y me urge a ver si podeis echarme una mano. Tengo una bbdd con 3 tablas:

Grupo (id_grupo, nombre)
1, Programadores
2, Diseñadores
3, Gerencia
Trabajo (id_trabajo,trabajo)
101, Web jamoneros
102, Aplicación lanchas
103, Buscador php
Nexo (id_grupo*, id_trabajo*)
101, 1
101, 2
101, 3
102, 2
103, 1
Siendo primary keys todas las que son id_*.
Un trabajo pudieron hacerlo uno o varios grupos lo cual se reflejará en la tablar nexo.
Quiero saber en que trabajos solo ha participado un grupo, que yo elijo y sacar la lista de todos los id_trabajo como resultado.

Estoy trabajando sobre esto:

SELECT n.id_trabajo, trabajo FROM nexo n WHERE
n.id_trabajo IN
(SELECT n.id_trabajo FROM trabajo t,grupo g, nexo n
WHERE (t.id_trabajo=n.id_trabajo AND n.id_grupo=g.id_grupo) AND g.grupo
LIKE ‘Programadores')
AND 1=(SELECT count(n.id_grupo)=1 FROM nexo n WHERE
n.id_trabajo IN
(SELECT n.id_trabajo FROM trabajo t,grupo g, nexo n WHERE
(t.id_trabajo=n.id_trabajo AND n.id_grupo=g.id_grupo) AND g.grupo
LIKE ‘Programadores')
);

Pero el AND 1=(SELECT count(n.id_grupo)=1 FROM no vale para nada porque no solo necesito sacarle el numero de grupos que participan sino de que trabajo se trata y:
AND 1=(SELECT n.id_trabajo,count(n.id_grupo)=1 logicamente no deja.

Seguro que hay varias formas de afrontar esta query me vale cualquier ayuda.
Muchísimas gracias