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 avec corrélation?


Sujet :

Langage SQL

  1. #1
    Membre à l'essai
    Inscrit en
    Janvier 2005
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 38
    Points : 14
    Points
    14
    Par défaut UPDATE avec corrélation?
    update A
    set CTLIB = (SELECT B.APPL
    FROM B
    WHERE B.nrprs = A.nppr)
    where A.cdappl = 0


    Ca ne passe pas... existerait il une autre syntaxe qui m'éviterait de faire un update pour chaque record...?

  2. #2
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 849
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 849
    Points : 52 975
    Points
    52 975
    Billets dans le blog
    6
    Par défaut
    Décrivez vos tables SVP en respectant ceci : http://www.developpez.net/forums/viewtopic.php?t=32668

    Sans cela impossible de vous répondre !

  3. #3
    Membre chevronné

    Profil pro
    Inscrit en
    Avril 2005
    Messages
    1 673
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 1 673
    Points : 1 775
    Points
    1 775
    Par défaut
    D'autant plus que pour m'être fait engueu*** par SQLPro à ce propos selon la norme SQL, dans une requête UPDATE, vous ne pouvez pas mettre d'alias sur la table concernée.

  4. #4
    Membre à l'essai
    Inscrit en
    Janvier 2005
    Messages
    38
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 38
    Points : 14
    Points
    14
    Par défaut
    Ca fonctionne , en fait le problème était qu'il n'existe pas toujours un enregistrement pour faire le lien dans la table B.

    --> ainsi ca fonctionne (déso pas le temps pour expliquer les 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
     
    update corobj.fcatm1d A
    set A.CTLIB =
    	CASE  WHEN
                        (SELECT  B.APPL 
                        FROM   missdta.rlx100f B
    	where  B.nrprs =  A.nppr) 
    	IS NULL
    	THEN '???' 
    	else
    	(SELECT B.APPL
                        FROM   missdta.rlx100f B
    	where  B.nrprs =  A.nppr)
    	end
    where A.cdappl = 0

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

Discussions similaires

  1. UPDATE avec JOIN ?
    Par zakuli dans le forum Débuter
    Réponses: 3
    Dernier message: 25/07/2007, 14h53
  2. UPDATE avec des variables Delphi ...
    Par Kokito dans le forum Bases de données
    Réponses: 3
    Dernier message: 08/03/2004, 22h35
  3. Requete d'update avec concatenation !!
    Par chris92 dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 25/02/2004, 12h05
  4. [version] Requete Update avec différentes versions de mySQL
    Par regbegpower dans le forum Requêtes
    Réponses: 2
    Dernier message: 26/01/2004, 17h19
  5. Pb Update avec chaine de caractere
    Par JuJu° dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 28/05/2003, 15h58

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