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 :

Copie de ligne avec condition


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Mai 2008
    Messages
    298
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 298
    Par défaut Copie de ligne avec condition
    Bonjour,

    J'aimerais copier des lignes d'une table A à une table B.
    Mais uniquement si la donnée n'existe pas déjà dans B.

    Merci pour votre aide

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 10
    Par défaut
    salut ca doit etre quelque chose comme

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO [table B]([Champ1],[Champ2],[Champ3]) SELECT [champ1],[champ2],[champ3] FROM [table A] where [table A].[champ1] not exist in(select [table B].[champ1] from [table B]

    A verifier mais je ne dois pas etre loin

  3. #3
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 454
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 454
    Par défaut
    C'est NOT IN ou NOT EXISTS mais pas NOT EXISTS IN.
    En supposant que Col1 soit la clef primaire :

    NOT EXISTS
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    INSERT INTO TABLE_B (Col1, Col2, Col3)
    SELECT Col1, Col2, Col3
    FROM TABLE_A
    WHERE NOT EXISTS (SELECT NULL FROM TABLE_B
                      WHERE TABLE_B.Col1 = TABLE_A.Col1)
    NOT IN
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    INSERT INTO TABLE_B (Col1, Col2, Col3)
    SELECT Col1, Col2, Col3
    FROM TABLE_A
    WHERE TABLE_A.Col1 NOT IN (SELECT TABLE_B.Col1 FROM TABLE_B)

  4. #4
    Membre émérite Avatar de Arkhena
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    552
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 552
    Par défaut
    Je ne sais pas si ça peut aider, mais je crois avoir remarqué que le NOT EXISTS était plus performant que le NOT IN...

  5. #5
    Membre éclairé
    Inscrit en
    Mai 2008
    Messages
    298
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 298
    Par défaut
    C'est super, tout fonctionne parfaitement.

    Merci beaucoup pour m'avoir fait gagner du temps..

  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 : 48
    Localisation : Congo-Brazzaville

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

    Informations forums :
    Inscription : Mars 2003
    Messages : 2 741
    Par défaut
    Merci de ne pas oublier le bouton résolu à l'avenir.

    Découvrez la FAQ de MS SQL Server.
    La chance accorde ses faveurs aux esprits avertis !

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

Discussions similaires

  1. [XL-2010] macro copie et colle des lignes avec condition de cellule
    Par olive72 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 07/01/2015, 16h34
  2. Copie de ligne avec 2 conditions
    Par lilp1 dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 29/05/2009, 13h21
  3. [E-03] Copie de ligne avec condition de type rechercheV
    Par Lufia dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 27/02/2009, 14h24
  4. inserer une ligne avec condition
    Par pepesese dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 25/02/2008, 19h22
  5. Affichage ligne avec condition dans /etc/passwd
    Par mzt.insat dans le forum Shell et commandes GNU
    Réponses: 7
    Dernier message: 17/04/2006, 21h25

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