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 sur le resultat d'un SELECT


Sujet :

Langage SQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 3
    Par défaut UPDATE sur le resultat d'un SELECT
    Bonjour,

    J'ai fait une requête, qui me renvoie les éléments présents dans t1 et pas dans t2, et qui marche très bien :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SELECT arg1 FROM t1 GROUP BY t1 EXCEPT SELECT arg2 FROM t2 GROUP BY arg2 ;
    Cela me renvoie un résultat sous la forme

    ----------
    | arg1 |
    ------------
    | abra |
    | cada |
    | bra |
    | bouh |
    ----------

    Je voudrais remplacer toutes les valeurs du tableau résultat par une autre même valeur. En gros tout passer à une autre chaine de caractère.

    J'ai tenté avec un update, mais je n'y arrive pas. Voici ce que j'ai fait

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE t1 SET (SELECT arg1 FROM t1 GROUP BY t1 EXCEPT SELECT arg2 FROM t2 GROUP BY arg2) = "BLA" ;
    S'il y a quelqu'un pour me mettre sur la piste je le remercie d'avance.

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 136
    Par défaut
    Si je comprends bien, tu souhaites remplacer par 'BLA' toutes les valeurs de arg1 dans la table t1 qui ne sont pas présentes dans la colonne arg2 de la table t2 ?
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 3
    Par défaut
    C'est exactement ca.

  4. #4
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 136
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 136
    Par défaut
    Deux manières de faire :
    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  t1 
    SET     arg1 = 'BLA'
    WHERE   NOT EXISTS
            (   SELECT  1
                FROM    t2
                WHERE   t2.arg2 = t1.arg1            
            )
    ;
    UPDATE  t1 
    SET     arg1 = 'BLA'
    WHERE   arg1 NOT IN
            (   SELECT  arg2
                FROM    t2          
            )
    ;
    Modérateur Langage SQL
    Règles du forum Langage SQL à lire par tous, N'hésitez pas à consulter les cours SQL
    N'oubliez pas le bouton et pensez aux balises
    [code]
    Si une réponse vous a aidé à résoudre votre problème, n'oubliez pas de voter pour elle en cliquant sur
    Aide-toi et le forum t'aidera : Un problème exposé sans mentionner les tentatives de résolution infructueuses peut laisser supposer que le posteur attend qu'on fasse son travail à sa place... et ne donne pas envie d'y répondre.

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2012
    Messages : 3
    Par défaut
    Merci bien ça marche super bien, une fois qu'on voit la réponse ça semble beaucoup plus simple.

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

Discussions similaires

  1. UPDATE avec le resultat d'un SELECT
    Par aelmalki dans le forum SQL
    Réponses: 9
    Dernier message: 03/03/2010, 16h39
  2. [T-SQL] Boucle sur les resultats d'un SELECT sans CURSOR
    Par la drogue c'est mal dans le forum Sybase
    Réponses: 1
    Dernier message: 16/06/2008, 11h19
  3. Boucler sur le resultat d'un select
    Par Clorish dans le forum MS SQL Server
    Réponses: 10
    Dernier message: 18/12/2007, 09h20
  4. critere de selection pr faire un UPDATE sur 1 table
    Par maxizoo dans le forum Langage SQL
    Réponses: 6
    Dernier message: 05/01/2006, 15h35
  5. UPDATE SUR UN SELECT
    Par Alocer dans le forum Requêtes
    Réponses: 3
    Dernier message: 14/10/2005, 20h09

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