Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 6 sur 6
  1. #1
    Invité régulier
    Homme Profil pro Stanislas Latron
    Étudiant
    Inscrit en
    octobre 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Nom : Homme Stanislas Latron
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : octobre 2012
    Messages : 12
    Points : 5
    Points
    5

    Par défaut Update INNER JOIN

    Bonjour, j'ai lu les sujets à ce propos, donc j'ai fait mes recherches de mon côté et corrigé une partie de ma requête. Cependant, elle ne passe pas et je ne comprends pas vraiment pourquoi...

    Je vous laisse le code :

    Code :
    1
    2
    3
    4
    5
    UPDATE ingredient 
    SET stock = stock + 5  
    FROM ingredient 
    INNER JOIN fournisseur ON ingredient.idfour = fournisseur.idfour
    WHERE fournisseur.ville = 'Le Havre';
    Merci de votre aide, qui me sera précieuse ^^

  2. #2
    Expert Confirmé Sénior
    Homme Profil pro
    Développeur Freelance
    Inscrit en
    janvier 2009
    Messages
    2 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Freelance

    Informations forums :
    Inscription : janvier 2009
    Messages : 2 253
    Points : 4 080
    Points
    4 080

    Par défaut

    Bonjour,
    Je dirais qu'il y a un point-virgule en trop à la fin de la ligne 4.

    Tatayo.

  3. #3
    Invité régulier
    Homme Profil pro Stanislas Latron
    Étudiant
    Inscrit en
    octobre 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Nom : Homme Stanislas Latron
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : octobre 2012
    Messages : 12
    Points : 5
    Points
    5

    Par défaut

    Mince, une erreur de ma part ça.

    Sinon non, ce n'est pas ça. Postgres me donne cette erreur :

    ERREUR: le nom de la table « ingredient » est spécifié plus d'une fois


    ********** Erreur **********

    ERREUR: le nom de la table « ingredient » est spécifié plus d'une fois
    État SQL :42712

  4. #4
    Expert Confirmé Avatar de pc75
    Profil pro
    Inscrit en
    septembre 2004
    Messages
    3 446
    Détails du profil
    Informations personnelles :
    Âge : 59
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : septembre 2004
    Messages : 3 446
    Points : 3 388
    Points
    3 388

    Par défaut

    Bonjour,

    Et comme ça ?

    Code :
    1
    2
    3
    4
    5
     
    UPDATE ingredient 
    INNER JOIN fournisseur ON ingredient.idfour = fournisseur.idfour
    SET stock = stock + 5  
    WHERE fournisseur.ville = 'Le Havre';
    Par principe, je ne réponds pas aux messages URGENT.
    Il n'y a pas de choses urgentes, il n'y a que des choses en retard. (un inconnu)
    Pas de questions techniques en MP.

  5. #5
    Modérateur
    Avatar de al1_24
    Homme Profil pro Alain
    Ingénieur d'études décisionnel
    Inscrit en
    mai 2002
    Messages
    5 609
    Détails du profil
    Informations personnelles :
    Nom : Homme Alain
    Âge : 53
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur d'études décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : mai 2002
    Messages : 5 609
    Points : 12 679
    Points
    12 679

    Par défaut

    Et pourquoi pas tout simplement comme ça :
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    UPDATE  ingredient 
    SET     stock = stock + 5
    WHERE   EXISTS
            (   SELECT  NULL
                FROM    fournisseur 
                WHERE   ingredient.idfour = fournisseur.idfour
                    AND fournisseur.ville = 'Le Havre';
            )
    ;
    L'UPDATE sur une jointure n'a d'intérêt que si les données de la table jointe sont utilisées pour la mise à jour, pas uniquement pour la sélection comme dans ta demande.
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  6. #6
    Invité régulier
    Homme Profil pro Stanislas Latron
    Étudiant
    Inscrit en
    octobre 2012
    Messages
    12
    Détails du profil
    Informations personnelles :
    Nom : Homme Stanislas Latron
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : octobre 2012
    Messages : 12
    Points : 5
    Points
    5

    Par défaut

    Ca fonctionne ! Merci beaucoup

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

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •