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 :

Doublons au cours d'une importation de données


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de GodGives
    Inscrit en
    Août 2007
    Messages
    456
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Août 2007
    Messages : 456
    Par défaut Doublons au cours d'une importation de données
    Bonjour!

    J'ai besoin de faire l'importation de données d'une table T1 d'une base de données vers une autre table T2 d'une autre base de données.
    Les deux tables ont la même structure mais je suis confronté à un problème de doublons comme suit:

    Données de T1

    Col1 Col2 Col3 Col4
    a1 _ b1 _ c1 _ d1
    a2 _ b2 _ c2 _ d2
    a3 _ b3 _ c3 _ d3



    Données de T2

    Col1 Col2 Col3 Col4
    a1 _ b1 _ c1 _ d1
    a2 _ b2 _ c2 _ d2
    a3 _ b3 _ c3 _ d3
    a4 _ b4 _ c4 _ d4
    a5 _ b5 _ c5 _ d5


    J'aimerais faire l'importation de T2 dans T1 de telle façon qu'à la fin, les 2 tables auront les mêmes données. Mais étant donné que l clé primaire est la col1 et qu'il existait au préalable des enregistrements de T2 dans T1, l'importation est avortée suite aux doublons.

    Comment faire pour ne importer que les données de T2 qui n'existe pas dans T1?

    Merci pour votre aide et excélente semaine à tous et à toutes!!!

  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 997
    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 997
    Billets dans le blog
    6
    Par défaut
    INSERT INTO T2
    SELECT *
    FROM T1
    WHERE T1.Col1 NOT IN (SELECT Col1 FROM T2)

    On peut aussi utiliser NOT EXISTS (plus optimisé) ou EXCEPT.

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  3. #3
    Membre éclairé Avatar de GodGives
    Inscrit en
    Août 2007
    Messages
    456
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Août 2007
    Messages : 456
    Par défaut
    merci beaucoup pour la réponse! j'avais pas pensé qu'on pourrait le faire avec des rëquêtes!

    Comment écrire ainsi une requête qui concerne des tables issues de deux bases différentes puisque dans la requête que vous m'avez postée, il n'y a que les tables T1 et T2?

    Sans oublier que T1 appartient à la base B1 et T2 appartient à la base B2.

  4. #4
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 997
    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 997
    Billets dans le blog
    6
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    INSERT INTO T2
    SELECT *
    FROM mabase.monschéma.T1 as T
    WHERE T.Col1 NOT IN (SELECT Col1 FROM T2)
    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  5. #5
    Membre éclairé Avatar de GodGives
    Inscrit en
    Août 2007
    Messages
    456
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Août 2007
    Messages : 456
    Par défaut
    j'ai un peu de mal à me retrouver!

    je ne comprend pas trop l'expression mabase.monschéma.T1, puisqu'après toutes mes tentations, j'ai un message d'erreur me notifiant une syntaxe incorrecte.

    Merci de me donner un exemple avec ses directifs:

    serveur sql: commande\data
    base: faucon
    table: ordre

  6. #6
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 997
    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 997
    Billets dans le blog
    6
    Par défaut
    vous oubliez l'autre base.. Comment s'apelle t-elle ?

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 30/11/2015, 14h25
  2. Réponses: 1
    Dernier message: 27/06/2012, 11h56
  3. Problème bizarre lors d'une importation de donnée [SSIS]
    Par caballero dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 06/07/2007, 16h18
  4. [Strategie][Java][XML] Import dans une base de données
    Par nad dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 23/09/2002, 11h12

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