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 :

update champs à partir d'un autre avec condition


Sujet :

Langage SQL

  1. #1
    Inactif
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 101
    Points : 67
    Points
    67
    Par défaut update champs à partir d'un autre avec condition
    bonjour,

    Je cherche à faire un update du champ (Année) de la table (voiture occation)
    à partir de du champs (année) de la table (voiture à vendre).

    Je n'arrive pas faire ma condition si 1=1 (id=id), j'ai essayer avec un alias mais marche pas.

    ma requete de départ:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE voiture occasion SET Année = '(SELECT Année FROM voiture à vendre)'
    les id sont identique.

    voici la structure de mes deux tables:
    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
     
    table voiture à vendre
    ----------------------
    id		modele 		Année
    1		renault		98
    2		peugeot		09
    3		fiat		02
    4		bmw			08
     
     
     
    table voiture occasion
    ----------------------
    id		modele 		Année
    1		renault		??
    2		peugeot		??
    3		fiat		??
    4		bmw			??
    Merci pour votre aide
    La vitesse de la lumière étant supérieure à celle du son, beaucoup de gens sont brillants jusqu'à ce qu'ils ouvrent leur bouche !!

  2. #2
    Membre éprouvé Avatar de Oishiiii
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2009
    Messages
    508
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Août 2009
    Messages : 508
    Points : 1 104
    Points
    1 104
    Par défaut
    Bonsoir,

    Quel est votre SGBDR?

  3. #3
    Membre émérite Avatar de pacmann
    Homme Profil pro
    Consulté Oracle
    Inscrit en
    Juin 2004
    Messages
    1 626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Consulté Oracle
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2004
    Messages : 1 626
    Points : 2 845
    Points
    2 845
    Par défaut
    Salut !

    Comme dit, ça peut dépendre du SGBD...
    Sous MySQL, tu peux faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    UPDATE V_occasion a, V_vendre b
    SET a.annee = b.annee
    WHERE a.id = b.id
    Sous Oracle 10g ou plus, tu as :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    MERGE INTO V_occasion a
    USING V_vendre b
      ON (a.id=b.id)
    WHEN MATCHED THEN
    UPDATE set a.annee = b.annee
    Mais sinon, un truc qui passe à peu près toujours :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    UPDATE V_occasion a
    SET anne = (SELECT b.annee FROM V_vendre b WHERE a.id = b.id)
    Mais bien sûr, il faut qu'il y ait au plus une ligne dans V_vendre pour un id donné de V_occasion...

    (c'est ma photo)
    Paku, Paku !
    Pour les jeunes incultes : non, je ne suis pas un pokémon...

    Le pacblog : http://pacmann.over-blog.com/

  4. #4
    Inactif
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 101
    Points : 67
    Points
    67
    Par défaut
    Désoler j'ai oublier de préciser, c'est Sous MySQL.

    merci pacmann ton 3eme exemple est bon, j'avais en faite mal construit mon alias dans la sous-requete, ton exemple ma était utile encore merci.

    La vitesse de la lumière étant supérieure à celle du son, beaucoup de gens sont brillants jusqu'à ce qu'ils ouvrent leur bouche !!

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 24/05/2014, 01h31
  2. Réponses: 1
    Dernier message: 20/05/2014, 09h51
  3. Réponses: 10
    Dernier message: 08/12/2010, 05h48
  4. UPDATE d'un champs à partir d'une autre table
    Par choupeo dans le forum Langage SQL
    Réponses: 3
    Dernier message: 21/12/2007, 14h50
  5. Réponses: 1
    Dernier message: 04/10/2007, 16h35

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