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 + case..


Sujet :

MS SQL Server

  1. #1
    Membre à l'essai
    Inscrit en
    Janvier 2010
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 33
    Points : 14
    Points
    14
    Par défaut UPDATE avec jointure + case..
    Bonjour à tous,

    J'ai aujourd'hui une requete qui ressemble à ca:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    select chgcat.code, chgcat.sym as Change_cat, chgcat.description, cnt.last_name, srv.sym as Priorité
    from chgcat
    left outer join srv_desc srv on chgcat.service_type=srv.persid
    left outer join ca_contact cnt on chgcat.group_id=cnt.contact_uuid
    where chgcat.description not like '%'+cnt.last_name+'%'
    and chgcat.del=0
    Voici le type de résultat que j'obtiens:
    (code)PRTZASDUN001 (Change_cat)Changes for IT teams.DUN.Asia IT Lab.Add a new server (description)DP-ZAS-DUN 1 Week (last_name)CS-ZAS-DUN (Priorité)D5_Production


    Je cherche à faire un update de la colonne description en utilisant les informations présentes dans la colonné Priorité + last_name...

    Dans le cas d'une priorité = D5_Production par exemple, le champ description prend une certaine valeur + le contenu du champ last_name.

    Je ne maîtrise absolument pas mssql à ce niveau et j'ai grand besoin de votre aide pour réaliser cette requête si elle s'avère possible!

    Merci d'avance

  2. #2
    Modérateur

    Profil pro
    dba
    Inscrit en
    Janvier 2010
    Messages
    5 643
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : dba

    Informations forums :
    Inscription : Janvier 2010
    Messages : 5 643
    Points : 13 092
    Points
    13 092
    Par défaut
    Bonjour

    quelque chose comme ceci ?

    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    UPDATE C
        SET C.description = CASE 
            WHEN srv.sym = 'D5_Production' THEN 'uneCertainValeur' + cnt.last_name
            WHEN ...
            ELSE C.Description
        END
    FROM chgcat C
    LEFT OUTER JOIN srv_desc srv ON C.service_type=srv.persid
    LEFT OUTER JOIN ca_contact cnt ON C.group_id=cnt.contact_uuid
    WHERE C.description NOT LIKE '%'+cnt.last_name+'%'
    AND chgcat.del=0

  3. #3
    Membre à l'essai
    Inscrit en
    Janvier 2010
    Messages
    33
    Détails du profil
    Informations forums :
    Inscription : Janvier 2010
    Messages : 33
    Points : 14
    Points
    14
    Par défaut
    Wooahh!

    Parfait, j'avais tenté diffèrentes syntaxe à base de CASE mais n'était parvenu à rien.

    Merci beaucoup

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

Discussions similaires

  1. Update avec jointure et case
    Par bernards111 dans le forum Débuter
    Réponses: 2
    Dernier message: 02/02/2015, 16h21
  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