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

Requêtes et SQL. Discussion :

Requête sql et sous requête [AC-2007]


Sujet :

Requêtes et SQL.

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    330
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 330
    Par défaut Requête sql et sous requête
    Bonjour

    Sur le site de Microsoft j'ai trouvé un exemple de sous-requête qui renvoie une date précédente sur la même ligne que la date en cours avec ce code:

    http://office.microsoft.com/fr-fr/access-help/imbriquer-une-requete-a-l-interieur-d-une-autre-requete-ou-dans-une-expression-a-l-aide-d-une-sous-requete-HA010206111.aspx"


    son code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Prior Date: (SELECT MAX([Order Date]) 
    FROM [Product Orders] AS [Old Orders] 
    WHERE [Old Orders].[Order Date] 
     < [Product Orders].[Order Date] 
    AND [Old Orders].[Product ID] 
     = [Product Orders].[Product ID])
    Comment réaliser la même chose en renvoyant toujours sur la même ligne à coté de la date le nom du produit lié à la date précédente et à sa clé ?

    J'y arrive pour les dates mais pas pour le nom du produit

    Je pense qu'il y aura bien un crack pour me trouver la solution ?

    Bonne après midi à vous tous.

  2. #2
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    13 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 13 197
    Billets dans le blog
    47
    Par défaut
    bonjour,

    Citation Envoyé par Philippe608 Voir le message
    Comment réaliser la même chose en renvoyant toujours sur la même ligne à coté de la date le nom du produit lié à la date précédente et à sa clé ?
    d'après la condition WHERE de la sous-requête:
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ...WHERE [Old Orders].[Order Date] 
     < [Product Orders].[Order Date] 
    AND [Old Orders].[Product ID]  = [Product Orders].[Product ID])
    on retient la date précédente mais pour le même produit commandé.

    Apparemment, ce que tu veux obtenir n'est donc pas tout à fait la même chose, il faudrait détailler ta table, donner un exemple plus précis de ce que tu veux.

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    330
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 330
    Par défaut
    Bonsoir Monsieur,

    Je me suis mal expliqué, en effet j'ai la table commandes
    DateCommande
    N°produit attaché à cette commande
    N°client également attaché à cette commande

    Exemple :

    Date commande le 01/01/11 Client 22 produit acheté N°65477
    sur la même ligne
    commande précédente : 30/12/2010 client 22 produit acheté N°7458

    je voudrai donc voir sur la même ligne.

    01/01/11 client 22 produit 65477 précédente commande : le 30/12/2010 client 22 prod 7458

    Je ne sais pas si cela est possible ?

    Merci.
    Bonne soirée.

  4. #4
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    13 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 13 197
    Billets dans le blog
    47
    Par défaut
    on peut faire ça en deux temps...

    une 1ère requête:
    R_Precedente:
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    SELECT commande.idcommande,
           (SELECT idcommande
            FROM   commande c
            WHERE  c.datecommande = (SELECT MAX(datecommande)
                                     FROM   commande AS anciennecommande
                                     WHERE
                   anciennecommande.idclient = commande.idclient
                   AND
                           anciennecommande.datecommande < commande.datecommande))
           AS
           idcommandeprecedente
    FROM   commande;

    un peu dans le même style que la requête de ton 1er message qui pour chaque n° de commande passée par un client ramène le n° de sa commande précédente.

    Puis tu fais une 2ème requête avec les assistants avec le schéma:
    Commande---->R_Precedente----->Commande_1
    (commande_1 obtenu en ajoutant une 2ème fois la table Commande)
    où tu ramènes toutes les infos de la commande et toutes les infos de la commande précédente (dans commande_1).

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    330
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 330
    Par défaut
    Merci pour votre réponse, après plusieurs essais je n'arrive pas à m'en sortir, pourriez-vous m'envoyer un exemple en zip SVP ?

    Merci.

  6. #6
    Responsable Arduino et Systèmes Embarqués


    Avatar de f-leb
    Homme Profil pro
    Enseignant
    Inscrit en
    Janvier 2009
    Messages
    13 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 13 197
    Billets dans le blog
    47
    Par défaut
    un exemple ci-joint...
    Fichiers attachés Fichiers attachés

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    330
    Détails du profil
    Informations personnelles :
    Âge : 60
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 330
    Par défaut
    Merci beaucoup, maintenant c'est bon.

    Bonne soirée.

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

Discussions similaires

  1. Réponses: 11
    Dernier message: 11/02/2013, 14h23
  2. Pb sur SUM dans requête SQL exécutée sous VB
    Par MAKSIM dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 14/11/2006, 17h07
  3. Sous-requêtes SQL pour ACCESS
    Par bastoon dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 28/08/2006, 21h41
  4. problème sous-requête SQL et order by
    Par aguest dans le forum Requêtes
    Réponses: 10
    Dernier message: 26/12/2005, 23h57
  5. Sous-requêtes SQL
    Par mandrake256 dans le forum WinDev
    Réponses: 6
    Dernier message: 21/06/2005, 10h15

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