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 :

[Résolu]Select avec MAX d'une autre table


Sujet :

Langage SQL

  1. #1
    Candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2018
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Septembre 2018
    Messages : 5
    Points : 3
    Points
    3
    Par défaut [Résolu]Select avec MAX d'une autre table
    Bonjour à tous,

    Je m'en remets à vous car je galère pour établir une requete qui me paraissait simple sur le papier.
    J'ai 2 tables :

    Table Produits

    -Code produit
    -libellé produit
    -spec produit

    Table achats
    -Code produit
    -Date achat
    -quantité

    J'ai besoin de remonter le code produit, le libellé, et la quantité de la DERNIERE commande

    J'ai cherché sur le forum et tenté de mettre le MAX dans le FROM, dans un Having, dans un select, et malheureusement je n'arrive pas à avoir le résultat voulu...

    Avez-vous une piste ?

    Merci beaucoup !

    Le0n_95

  2. #2
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 338
    Points : 39 738
    Points
    39 738
    Billets dans le blog
    9
    Par défaut
    Bonjour,

    il y a une entrée dans mon blog qui explique comment y arriver.

    Bonne lecture

  3. #3
    Candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2018
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Septembre 2018
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Merci pour le lien, malheureusement cela ne fonctionne pas.
    La version avec le MAX ne semble pas fonctionner avec mon SGBD (Ingres...), car il ne veut pas de MAX dans un WHERE.
    La version avec NOT EXISTS me remonte la totalité des lignes. A quoi sert le "select 1" cela remonte que "1" dans la sous-requete.
    La version avec RANK n'est pas compatible avec Ingres non plus

  4. #4
    Modérateur
    Avatar de escartefigue
    Homme Profil pro
    bourreau
    Inscrit en
    Mars 2010
    Messages
    10 338
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loir et Cher (Centre)

    Informations professionnelles :
    Activité : bourreau
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2010
    Messages : 10 338
    Points : 39 738
    Points
    39 738
    Billets dans le blog
    9
    Par défaut
    Communiquez vos requêtes et le message d'erreur correspondant


    à propos de ceci

    Citation Envoyé par le0n_95 Voir le message
    La version avec NOT EXISTS me remonte la totalité des lignes. A quoi sert le "select 1" cela remonte que "1" dans la sous-requete.
    EXISTS et NOT EXISTS, comme leur nom l'indique, font un test d'existence. La réponse à ce test est un booléen VRAI/FAUX, aucune valeur de colonne n'est transportée. De ce fait, avec (NOT) EXISTS , écrire SELECT 1, SELECT *, SELECT 'martine à la plage' ou tout autre liste de colonnes n'a aucune importance.

    Si votre SGBD n'accepte ni les agrégats dans les requêtes corrélées, ni les fonctions fenêtrées comme RANK() c'est qu'il a plus de 20 ans de retard sur la norme SQL.
    Changez-en dans la mesure du possible

  5. #5
    Candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Septembre 2018
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Septembre 2018
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    Citation Envoyé par escartefigue Voir le message
    Changez-en dans la mesure du possible
    Oui le problème étant le "possible"
    Apres de longue année sur SQL server, j'avoue que plonger dans un Ingres daté est assez sportif.

    Bon, je m'ne suis sorti avec le MAX dans une sous requete dans le where.
    Le message d'erreur que j'avais n'était pas dû à une limitation du SGBD mais à ma requete qui était fausse.

    Merci beaucoup pour les réponses et la réactivité !

    Le0n_95

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

Discussions similaires

  1. [SQL] Selection code inexistant dans une autre table
    Par Benj2007 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 22/08/2007, 13h25
  2. Champs calculés avec reference a une autre table
    Par cadetill dans le forum Firebird
    Réponses: 2
    Dernier message: 13/07/2007, 18h40
  3. creation table avec lignes d'une autre table sous Sql Server
    Par pops4 dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 25/05/2007, 13h59
  4. Réponses: 14
    Dernier message: 05/09/2006, 17h01
  5. Update d'un champs avec valeur d'une autre table.
    Par dbuweb dans le forum Requêtes
    Réponses: 2
    Dernier message: 20/06/2006, 11h36

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