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 :

[DTS] Import de données avec des doublons


Sujet :

MS SQL Server

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 22
    Points : 19
    Points
    19
    Par défaut [DTS] Import de données avec des doublons
    Bonjour,

    J'aimerai importer des données depuis AS400 vers une table sur SQL Server. Le problème c'est que cette table AS400 contient des doublons. Si je fais la requête suivante:
    select distinct ref, designation, prix from Reference
    SQL server renvoie une erreur en disant qu'il y a un problème de doublon avec la clé primaire qui est ref.
    Je ne vois pas trop comment règler ce problème. Quelqu'un a t-il une solution?

    merci!

  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
    Pour un simple select, SQL Serveur ne peut pas te traiter comme cela.
    Qu'est ce que tu veux faire exactement ?

    Je te conseillerais d'importer d'abord dans une table tempo puis de gerer les doublons bien après.

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

  3. #3
    Yad
    Yad est déconnecté
    Membre du Club
    Inscrit en
    Mars 2005
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 58
    Points : 58
    Points
    58
    Par défaut
    On dirai que tu as plusieurs prix pour un même produit ... le tout est de savoir quel prix tu veux garder dans ta table puisque ta clé primaire est la référence ...

    Avec le prix le plus élévé cela devrai marcher ... mais pourquoi charger un prix pour un produit alors qu'il y en a plusieurs ... m'est avis que les prix serai mieux dans une sous table ... mais bon ...

    Select Distinct Ref, Designation, Max(Prix) from Reference

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 22
    Points : 19
    Points
    19
    Par défaut
    Citation Envoyé par WOLO Laurent
    Qu'est ce que tu veux faire exactement ?
    Je te conseillerais d'importer d'abord dans une table tempo puis de gerer les doublons bien après.
    J'ai importer tout dans une table, mais si j'applique la même requête, ça ne marche pas non plus. Je pensais pourvoir importer les différentes références dans une première requête et ensuite récupérer uniquement les données se rapportant aux références gardées dans une seconde requête, mais je n'arrive pas à la faire et je ne sais pas si ça donnera quelque chose.

  5. #5
    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
    Soient T1 et T2 deux tables définies par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Create Table T1(
    ID int not null primary key,
    Champ varchar(50) null
    )
    GO
    Create Table T2(
    ID int not null primary key,
    Champ varchar(50) null
    )
    Suppossant que T1 est la table source et que nous voulons selectionner toutes les lignes de T1 qui ne sont pas dans T2, on aura :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    SELECT T1.ID,T1.CHAMP
    FROM T1
    WHERE T1.ID NOT IN (
                                      SELECT ID 
                                       FROM T2
                                     )
    GO
    Ainsi, l'insertion reste très simple et en découle.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    INSERT INTO T2(ID,Champ)
    SELECT T1.ID,T1.CHAMP
    FROM T1
    WHERE T1.ID NOT IN (
                                      SELECT ID 
                                       FROM T2
                                     )
    GO
    Fin de l'épisode.

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

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 22
    Points : 19
    Points
    19
    Par défaut
    Citation Envoyé par Yad
    Select Distinct Ref, Designation, Max(Prix) from Reference
    Ca marche très bien comme ça! Merci!

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

Discussions similaires

  1. import des données avec des caractères cyrilliques
    Par hebh dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 11/06/2012, 17h07
  2. import de données avec BCP
    Par doudou10000 dans le forum Outils
    Réponses: 2
    Dernier message: 09/12/2005, 16h10
  3. Prbleme de liaison avec des doublons dans le fichier lié.
    Par krak70 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 16/10/2005, 11h03
  4. Récupérer ma base de donnée avec des tables en .frm uniqueme
    Par Michas dans le forum Administration
    Réponses: 5
    Dernier message: 31/08/2005, 13h57
  5. [DTS] importer les données
    Par flogreg dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 23/03/2005, 13h01

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