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 :

comment créer un champs nomé NUM_INS qui concatene entre les 4 chapms


Sujet :

MS SQL Server

  1. #1
    Membre du Club
    Inscrit en
    Février 2009
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 92
    Points : 40
    Points
    40
    Par défaut comment créer un champs nomé NUM_INS qui concatene entre les 4 chapms
    Bonjour
    SVP, j'ai 2 tables avec la meme structure
    t1, t2
    je veux copier les données de t2 vers t1, mais si il trouve des données existent dans t1 il ne les copi pas .

    avec la commande NOT IN ça ne marche pas car la j'ai la clé composée de 4 champs alors
    comment créer un champs nomé NUM_INS qui concatene entre les 4 chapms pour faire la comparaison 'copier where t2.NUM_INS!= t1.NUM_INS

    en php myadmin

  2. #2
    Expert éminent sénior
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Points : 12 891
    Points
    12 891
    Par défaut
    Bonjour,

    Utilisez la clause WHERE NOT EXISTS dans ce cas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    INSERT INTO dbo.t2
    SELECT * FROM dbo.t1 t
    WHERE NOT EXISTS (SELECT * FROM dbo.t2 tt
                                 WHERE t.col1 = tt.col1
                                   AND t.col2 = tt.col2
                                    AND t.col3 = tt.col3
                                     AND t.col4 = tt.col4)
    ++

  3. #3
    Membre du Club
    Inscrit en
    Février 2009
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 92
    Points : 40
    Points
    40
    Par défaut
    merci beaucoup pour la réponse je vais l'essayer maintenant, mais est ce que il prend ces 4 champs de la meme ligne?

  4. #4
    Membre du Club
    Inscrit en
    Février 2009
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 92
    Points : 40
    Points
    40
    Par défaut
    re-bonjour
    je l'ai essayé mais ça n'a pas marché toujours message d'erreur.

    SVP moi j'ai la table t3 dont tous ses enregistrement sont doublée, SVP comment extraire une table t4 de la table t3 qui contient les enregistrements non doublé,
    ou bien d'une autre maniere comment supprimer les enregistrements et laisser l'enregistrement une seul foi dans la table

  5. #5
    Expert éminent sénior
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Points : 12 891
    Points
    12 891
    Par défaut
    Citation Envoyé par z_ahlam Voir le message
    re-bonjour
    je l'ai essayé mais ça n'a pas marché tjrs msg d'erreur.

    SVP moi j'ai la table t3 dont tous ses enregistrement sont doublée, SVP comment extraire une table t4 de la table t3 qui contient les enregistrements non doublé,
    ou bien d'une autre maniere comment supprimer les enregistrements et laisser l'enregistrement une seul foi dans la table
    Et si vous nous mettiez la structure de vos tables et un jeu de données pour mieux vous aider ? ...

  6. #6
    Membre du Club
    Inscrit en
    Février 2009
    Messages
    92
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 92
    Points : 40
    Points
    40
    Par défaut
    merci
    voila les les champs des deux tables d'essai db2, db3

    db2: code1 ; code2 ; nom ; prenom


    db3: code1 ; code2 ; nom ; prenom

    je fait le filtrage d'aprés code1 et code 2

    je veux inserer les données de la table db3 dans la table db2

  7. #7
    Expert éminent sénior
    Avatar de mikedavem
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2005
    Messages
    5 450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Distribution

    Informations forums :
    Inscription : Août 2005
    Messages : 5 450
    Points : 12 891
    Points
    12 891
    Par défaut
    Ok donc en admettant que les colonnes code1 et code2 sont les clés primaires ou index uniques de vos tables voici 2 solutions pour insérer les données de la table db3 qui ne se trouvent pas dans la table db2

    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
    INSERT INTO dbo.db2 
    SELECT db3.* 
    FROM dbo.db3 
    WHERE NOT EXISTS (SELECT * FROM dbo.db2
    		   WHERE db3.code1 = db2.code1
    		    AND db3.code2 = db2.code2)
    -- OU
     
    INSERT INTO dbo.db2 
    SELECT db3.* 
    FROM dbo.db3
    LEFT JOIN dbo.db2
    ON db3.code1 = db2.code1
     AND db3.code2 = db2.code2
    WHERE db2.code2 IS NULL
    ++

Discussions similaires

  1. Réponses: 6
    Dernier message: 08/03/2012, 17h54
  2. Réponses: 8
    Dernier message: 23/03/2007, 01h14
  3. Comment créer un champ numéroAuto en VBA Access
    Par nononono76 dans le forum Access
    Réponses: 4
    Dernier message: 01/01/2007, 12h19
  4. Comment créer un champs qui additionne
    Par Didi17 dans le forum Access
    Réponses: 2
    Dernier message: 16/10/2005, 18h51
  5. Comment créer un champs " BOOLEAN " dans ACCESS ?
    Par Didier100 dans le forum Bases de données
    Réponses: 3
    Dernier message: 21/10/2004, 11h15

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