cs_coq
Messages postés6349Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014101 26 déc. 2007 à 10:15
Salut,
Autrement dit : la liste des EVENT dont les ID ne sont pas liés à une ACTION dont dept_id vaut autre chose que 3.
J'aurais tendance à écrire ça avec une sous requête représentant la liste des EVENTs à ne pas inclure, mais je me demande s'il n'y aurait pas mieux :
DECLARE @RequiredDeptID integer;
SET @RequiredDeptID=3;
SELECT Events.[event_id], Events.[event_name]
FROM [dbo].[EVENT] AS Events
WHERE Events.[event_id] NOT IN (SELECT DISTINCT [event_id]
FROM [dbo].[ACTION] AS Actions
WHERE Actions.[dept_id] <> @RequiredDeptID
)
cs_noumian
Messages postés49Date d'inscriptionsamedi 2 avril 2005StatutMembreDernière intervention 3 décembre 2008 26 déc. 2007 à 10:37
EXACTEMENT, MAIS T'AS OUBLIE UN DETAIL:
DECLARE @RequiredDeptID integer;
SET @RequiredDeptID=3; SELECT Events.[event_id], Events.[event_name]
FROM [dbo].[EVENT] AS Events
WHERE Events.[event_id] NOT IN (SELECT DISTINCT [event_id]
FROM [dbo].[ACTION] AS Actions
WHERE Actions.[dept_id] <> @RequiredDeptID
and Actions.[event_id]=event.[event_id] )
ouais man