IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage SQL Discussion :

Requête en évitant Select from (select from (select from))


Sujet :

Langage SQL

  1. #1
    Membre Expert

    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 186
    Par défaut Requête en évitant Select from (select from (select from))
    Bonjour,

    J'ai une table Dossier et une table Action.
    Un dossier peut avoir plusieurs actions.
    Les actions sont réalisées par des personnes, dans un certain ordre.

    Je voudrais récupérer toutes les actions des dossiers sur lesquels une personne est intervenue.
    Cerise sur le gateau, il faudrait uniquement les actions de la personne et les actions qui suivent.

    Des idées ?

    Merci.

    Edit : je travaille sous SQL Server 2005
    [Access] Les bases du débogage => ici

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 997
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 997
    Billets dans le blog
    6
    Par défaut
    Oui, commencez par respecter la charte de postage !

    http://www.developpez.net/forums/ann....php?f=37&a=69

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  3. #3
    Membre éclairé Avatar de le_dilem
    Homme Profil pro
    Consultant ERP
    Inscrit en
    Avril 2005
    Messages
    313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Consultant ERP

    Informations forums :
    Inscription : Avril 2005
    Messages : 313
    Par défaut Une Isée
    Avoir Une seule Table

  4. #4
    Membre chevronné Avatar de chrifo
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    444
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 444
    Par défaut
    Bonjour,
    Pouvez-vous nous donner la structure des tables ... ou mieux, les ordres de création ?

  5. #5
    Membre Expert

    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 186
    Par défaut
    Les scripts des tables en question :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    CREATE TABLE [tblDossier] (
    	[IdDossier] [int] IDENTITY (0, 1) NOT NULL ,
    	[Dossier] [varchar] (50) NOT NULL ,
    	CONSTRAINT [PK__tblCCMDossier] PRIMARY KEY  NONCLUSTERED 
    	(
    		[IdDossier] DESC 
    	) WITH  FILLFACTOR = 100  ON [PRIMARY] 
    ) ON [PRIMARY]
     
    CREATE TABLE [tblAction] (
    	[IdAction] [int] IDENTITY (0, 1) NOT NULL ,
    	[IdDossier] [int] NOT NULL ,
    	[Ordre] [int] NULL ,
    	[IdName] [int] NULL ,
    	CONSTRAINT [PK__tblCCMAction__76CBA758] PRIMARY KEY  NONCLUSTERED 
    	(
    		[IdAction] DESC 
    	) WITH  FILLFACTOR = 100  ON [PRIMARY] 
    ) ON [PRIMARY]
    Je n'ai laissé que le nécessaire.
    [Access] Les bases du débogage => ici

  6. #6
    Membre chevronné Avatar de chrifo
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    444
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 444
    Par défaut
    Je vous propose
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    select A.*
    from tblAction A
    	inner join 
    		(select min(Ordre) Ordre, IdDossier 
    			from tblAction 
    			where idName = XXX
    			group by IdDossier) B
    	on A.idDossier = B.idDossier and A.Ordre >= B.ordre

  7. #7
    Membre Expert

    Homme Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 186
    Par défaut


    Ca fonctionne nickel.

    Merci.
    [Access] Les bases du débogage => ici

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 15
    Dernier message: 12/04/2011, 07h11
  2. Select truc, min(bidule), chouette, from table
    Par mims1664 dans le forum Requêtes
    Réponses: 4
    Dernier message: 29/06/2008, 21h36
  3. DELETE FROM Table_a .. JOIN (SELECT Table_a) ?
    Par ctobini dans le forum Requêtes
    Réponses: 4
    Dernier message: 08/02/2008, 17h43
  4. select 'detail.php?id='||ID from table;
    Par XtofRoland dans le forum Requêtes
    Réponses: 2
    Dernier message: 01/03/2006, 10h35
  5. [SYBASE] Select case mais dans le from !!!
    Par soulriver dans le forum Sybase
    Réponses: 5
    Dernier message: 25/07/2005, 17h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo