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

MS SQL Server Discussion :

UPDATE avec jointure


Sujet :

MS SQL Server

  1. #1
    Membre habitué
    Homme Profil pro
    BI Expert
    Inscrit en
    Décembre 2005
    Messages
    181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : BI Expert

    Informations forums :
    Inscription : Décembre 2005
    Messages : 181
    Points : 139
    Points
    139
    Par défaut UPDATE avec jointure
    Bonjours tout le monde,
    mon probleme c'est que je veux faire une augmentation des prix de quelque produit dans ma table ARTCLIENT qui contient le champs Prix, cette augmentation doit être selon la désignation de ce produit, alors que la désignation se trouve dans une autre table ARTICLE, bien sur y une clé entre ARTCLIENT et ARTICLE c'est ar_ref.le probleme c'est que j'arrive pas à faire une jointure avec UPDATE.
    si quelqu'un peux m'aider s'il vous plaît.

  2. #2
    Membre régulier
    Inscrit en
    Décembre 2004
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 112
    Points : 94
    Points
    94
    Par défaut
    Citation Envoyé par warning Voir le message
    Bonjours tout le monde,
    mon probleme c'est que je veux faire une augmentation des prix de quelque produit dans ma table ARTCLIENT qui contient le champs Prix, cette augmentation doit être selon la désignation de ce produit, alors que la désignation se trouve dans une autre table ARTICLE, bien sur y une clé entre ARTCLIENT et ARTICLE c'est ar_ref.le probleme c'est que j'arrive pas à faire une jointure avec UPDATE.
    si quelqu'un peux m'aider s'il vous plaît.
    salut,
    je sais pas si j'ai bien compris ce que tu veux faire dans ton Update, mais en tout cas essaye ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Update ARTCLIENT 
    set prix=....
    from ARTCLIENT inner join ARTICLE on ARTCLIENT.ar_ref = ARTICLE.ar_ref

  3. #3
    Membre habitué
    Homme Profil pro
    BI Expert
    Inscrit en
    Décembre 2005
    Messages
    181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : BI Expert

    Informations forums :
    Inscription : Décembre 2005
    Messages : 181
    Points : 139
    Points
    139
    Par défaut
    Merçi, je l'ai essayé mais ca marche pas
    ça donne ce message

    "Le Concepteur de requêtes ne gère pas la construction SQL Optional FROM clause"

  4. #4
    Membre régulier
    Inscrit en
    Décembre 2004
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 112
    Points : 94
    Points
    94
    Par défaut
    oui mais ce n'Est pas une erreur ca... c'est le concepteur de requete qui ne sait pas afficher les tables graphiquement en respectant ce genre de requete
    tu click sur ok, et si tu execute la requete , ca va fonctionner

  5. #5
    Membre habitué
    Homme Profil pro
    BI Expert
    Inscrit en
    Décembre 2005
    Messages
    181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : BI Expert

    Informations forums :
    Inscription : Décembre 2005
    Messages : 181
    Points : 139
    Points
    139
    Par défaut
    ouai, j'ai pas fait attention à cela,parceque quand j'ai cliqué sur OK j'ai eu un message d'erruer de type "nom d'objet incorrect"
    mais bon je vais essayer de détécter l'erreur

  6. #6
    Membre régulier
    Inscrit en
    Décembre 2004
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 112
    Points : 94
    Points
    94
    Par défaut
    on pourra peut etre mieux t'aider si tu envoie ta requete...
    parfois il ya moyen de faire des requetes comme ca, sans utiliser les jointures

  7. #7
    Membre averti Avatar de Sacha999
    Inscrit en
    Mars 2007
    Messages
    294
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Mars 2007
    Messages : 294
    Points : 350
    Points
    350
    Par défaut
    Sinon si t'aime pas les jointures tu fais

    UPDATE ARTCLIENT
    SET Prix = Prix + 10
    WHERE Ar_Ref IN
    (
    SELECT Ar_Ref FROM ARTICLE WHERE Designation IN ('toto', 'tata', 'titi')
    )
    Le forum c'est trop génial

  8. #8
    Membre habitué
    Homme Profil pro
    BI Expert
    Inscrit en
    Décembre 2005
    Messages
    181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : BI Expert

    Informations forums :
    Inscription : Décembre 2005
    Messages : 181
    Points : 139
    Points
    139
    Par défaut
    Citation Envoyé par Sacha999 Voir le message
    Sinon si t'aime pas les jointures tu fais

    UPDATE ARTCLIENT
    SET Prix = Prix + 10
    WHERE Ar_Ref IN
    (
    SELECT Ar_Ref FROM ARTICLE WHERE Designation IN ('toto', 'tata', 'titi')
    )
    D'accord,Merci je vais l'essayer tout de suite

  9. #9
    Membre habitué
    Homme Profil pro
    BI Expert
    Inscrit en
    Décembre 2005
    Messages
    181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : BI Expert

    Informations forums :
    Inscription : Décembre 2005
    Messages : 181
    Points : 139
    Points
    139
    Par défaut
    Citation Envoyé par monsurf Voir le message
    on pourra peut etre mieux t'aider si tu envoie ta requete...
    parfois il ya moyen de faire des requetes comme ca, sans utiliser les jointures
    voici ma requête

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    UPDATE    F_ARTCLIENT
    SET              AC_PrixDev = AC_PrixDev * 1.07
    FROM ARTCLIENT INNER JOIN ARTICLE ON ARTCLIENT.ar_ref = ARTICLE.ar_ref
    WHERE     (AR_Ref LIKE '831%') AND (F_ARTICLE.AR_Design LIKE '%BAROCCO%')

  10. #10
    Membre régulier
    Inscrit en
    Décembre 2004
    Messages
    112
    Détails du profil
    Informations forums :
    Inscription : Décembre 2004
    Messages : 112
    Points : 94
    Points
    94
    Par défaut
    Salut,

    tu veux faire un update sur F_ARTCLIENT alors que cette table n'existe pas dans ton inner join ?!

    je ne comprends pas ce que tu veux faire, il semble que ta pas besoin de faire de join...
    et puis une remarque. dans le where , tu ne precise pas de quelle table est AR_Ref

  11. #11
    Membre habitué
    Homme Profil pro
    BI Expert
    Inscrit en
    Décembre 2005
    Messages
    181
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : BI Expert

    Informations forums :
    Inscription : Décembre 2005
    Messages : 181
    Points : 139
    Points
    139
    Par défaut
    Si Si j'ai fait attention à tout cela, tout est OK, dans la requete que j'ai executer j'ai mis From F_ARTCLIENT c'est juste une faute de frappe dans le code que je vous ai envoyé
    et aprés le truc de Sacha sana jointure marche super bien
    Merci à vous deux

  12. #12
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    361
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 361
    Points : 123
    Points
    123
    Par défaut
    j'ai essayer la meme requete, mais il me mets opérateur absent :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    UPDATE commande_prof 
    SET cat =1
    FROM commande_prof c INNER JOIN detail_commande_prof d ON c.num_commande = d.num_commande
     where (num_produit = 1)

  13. #13
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    361
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 361
    Points : 123
    Points
    123
    Par défaut
    pour info, j'ai résolu mon problème.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    UPDATE commande_prof  INNER JOIN detail_commande_prof ON commande_prof.num_commande = detail_commande_prof.num_commande
    SET cat =1
     and (num_produit = 1)
    Le problème était que j'utilisait access... Merci microsoft !!!!!!!!!!!

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

Discussions similaires

  1. Requête Update avec jointure
    Par maph1 dans le forum Langage SQL
    Réponses: 4
    Dernier message: 06/02/2008, 00h10
  2. Requête UPDATE avec jointure
    Par petburn dans le forum SQL
    Réponses: 7
    Dernier message: 30/07/2007, 14h22
  3. [UPDATE] avec jointure sur une requete
    Par userB dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 20/07/2007, 16h18
  4. Requete update avec jointure d'une requête
    Par bart64 dans le forum Requêtes et SQL.
    Réponses: 10
    Dernier message: 28/05/2007, 20h31
  5. [PL/SQL] update avec jointure
    Par Fox_magic dans le forum Oracle
    Réponses: 6
    Dernier message: 09/12/2004, 12h19

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