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

SQL Firebird Discussion :

update avec jointure


Sujet :

SQL Firebird

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 6
    Par défaut update avec jointure
    Bonjour,

    J'essaye de faire un update avec un filtre sur des données d'une autre table liée. Je n'arrive pas à trouver la syntaxe qui marche avec firebird :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    update table1 T1 
     set T1.champ1=1
     from table2 T2
     where
       T1.champ2=T2.champ2   --> jointure
       and T2.champ3<'12/31/2007' --> filtre
    Visiblement il ne comprend pas le from (j'ai essayer aussi avec un inner join un peu partout, mais sans succès)

    Merci.

  2. #2
    Membre éclairé

    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    508
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 508
    Par défaut
    Bonjour,

    j'avais posé la même question a peu de choses près sur ce forum. Voici mes notes de l'époque

    Interbase n'admet pas de clause FROM directement dans update. La jointure se fait donc dans une clause sous select.

    update x set x.b = (select y.b from y where y.a=x.a)

  3. #3
    Membre à l'essai
    Inscrit en
    Juin 2008
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 6
    Par défaut
    Merci. J'ai effectivement cru voir cette réponse dans mes recherchers. néanmoisn je ne soouhaite pas mettre une valeur provenant d'une autre table, mais une valeur calculé (tb1.champ1=1 par ex.)

  4. #4
    Membre Expert

    Homme Profil pro
    Consultant spécialité Firebird
    Inscrit en
    Mai 2002
    Messages
    2 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations professionnelles :
    Activité : Consultant spécialité Firebird
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 342
    Par défaut
    par exemple qq chose comme :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    UPDATE table1 T1  
     SET champ1=1
     WHERE T1.CHAMP2 IN (SELECT table2.champ2 FROM TABLE2
       INNER JOIN TABLE1 ON TABLE1.champ2=T2.champ2
       AND T2.champ3<'12/31/2007')

Discussions similaires

  1. UPDATE avec jointure
    Par warning dans le forum MS SQL Server
    Réponses: 12
    Dernier message: 13/12/2007, 10h35
  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