J'arrive pas a etablir un select

cs_noumian Messages postés 49 Date d'inscription samedi 2 avril 2005 Statut Membre Dernière intervention 3 décembre 2008 - 26 déc. 2007 à 08:53
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 - 26 déc. 2007 à 11:03
Bonjour, jdois effectuer un select.
ce que j'ai : 2 tables
EVENT(event_id,event_name)
ACTION(action_id,event_id,dept_id)

ce que je veux :

jveux recuperer tous les events dont TOUTES les actions de ces events ont un dept_id=3.

comment poser cette condition?
ouais man

3 réponses

cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
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
                                )

/*
coq
MVP Visual C#
CoqBlog
*/
0
cs_noumian Messages postés 49 Date d'inscription samedi 2 avril 2005 Statut Membre Derniè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
0
cs_coq Messages postés 6349 Date d'inscription samedi 1 juin 2002 Statut Membre Dernière intervention 2 août 2014 101
26 déc. 2007 à 11:03
Pourquoi ça ?

/*
coq
MVP Visual C#
CoqBlog
*/
0
Rejoignez-nous