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 de champs


Sujet :

MS SQL Server

  1. #1
    Membre régulier
    Inscrit en
    Mai 2008
    Messages
    298
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 298
    Points : 111
    Points
    111
    Par défaut Update de champs
    Bonjour,

    J'aimerais faire un UPDATE d'un champs de ma table à l'aide de jointure mais j'ai un problème. Voici mon code, ce sera plus simple à comprendre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    UPDATE WorkLog
    SET client_name = (SELECT name FROM Client
    WHERE (select top 1 clsname from Claims, WorkLog WHERE Claims.c_id=WorkLog.c_id) like '%test%')
    WHERE client_name is null
    Mon soucis est que le champs c_id de la table WorkLog prend toujours la même valeur, c'est à dire le premier. Il ne passe jamais à la deuxième ligne..
    Donc je me retrouve avec tous mes enregistrements avec la même valeure..

    Vous avez une idée..??
    Merci d'avance

  2. #2
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Points : 4 414
    Points
    4 414
    Par défaut
    Donne nous le script de création des trois tables que tu utilises.
    N'oublie pas les relations et le jeu d'éssai

  3. #3
    Membre régulier
    Inscrit en
    Mai 2008
    Messages
    298
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 298
    Points : 111
    Points
    111
    Par défaut
    Je suis désolé mais je n'ai pas les scripts des tables car ce n'est pas moi qui m'en occupe. On m'a refilé ces tables avec des rapports à faire, je nai rien de plus..

    Suis désolé..

  4. #4
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Points : 4 414
    Points
    4 414
    Par défaut
    Si tu fais des rapports avec c'est que tu dois avoir un MPD n'est ce pas ?
    A défaut tu nous postes la partie concernée.

  5. #5
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 865
    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 865
    Points : 53 021
    Points
    53 021
    Billets dans le blog
    6
    Par défaut
    Quelque chose comme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    UPDATE WorkLog
    SET client_name = CL.name
    FROM Claims AS C
         INNER JOIN WorkLog AS W
               ON C.c_id = W.c_id (SELECT name FROM Client
         INNER JOIN Client AS CL
               ON ???
    WHERE client_name IS NULL
    A vous de trouver la jointure entre la table Client et les autres !

    A +

  6. #6
    Rédacteur
    Avatar de WOLO Laurent
    Homme Profil pro
    Architecte de base de données
    Inscrit en
    Mars 2003
    Messages
    2 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Congo-Brazzaville

    Informations professionnelles :
    Activité : Architecte de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Points : 4 414
    Points
    4 414
    Par défaut
    Une érreur bénigne qui s'était produite.
    Citation Envoyé par SQLpro Voir le message
    Quelque chose comme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    UPDATE WorkLog
    SET client_name = CL.name
    FROM Claims AS C
         INNER JOIN WorkLog AS W
               ON C.c_id = W.c_id 
         INNER JOIN Client AS CL
               ON ???
    WHERE client_name IS NULL
    A vous de trouver la jointure entre la table Client et les autres !

    A +

Discussions similaires

  1. [MySQL] Update plusieurs champs input
    Par xender dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 02/02/2007, 16h10
  2. [blob] update de champ blob
    Par Michael# dans le forum SQL
    Réponses: 8
    Dernier message: 13/12/2005, 09h51
  3. Probleme simple : Update du champ le + petit
    Par barok dans le forum Requêtes
    Réponses: 6
    Dernier message: 10/09/2005, 13h33
  4. UPDATE de champ datetime
    Par HULK dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 09/09/2005, 12h24
  5. UPDATER le champ d'une table 1 avec le champ d'une table 2
    Par alain.dissoir dans le forum Oracle
    Réponses: 2
    Dernier message: 08/06/2005, 13h07

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