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 :

Créer une table a partir de deux tables existantes


Sujet :

MS SQL Server

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5
    Points : 5
    Points
    5
    Par défaut Créer une table a partir de deux tables existantes
    Bonjour à tous,

    La solution est sans doute toute simple, mais quand on ne la connait pas, elle ne l'est pas :p

    Je dispose de deux tables.
    Dans la table 1 il y a un champ nommé email_personne
    Dans la table 2 il y a un champ nommé email_joueur

    Je souhaiterais créer une nouvelle table 3 qui pourrait récupérer les emails stockées dans les deux tables et qui enlèverait les doublons s'il y en a et les stockerait dans un champ distinct_email

    Quelqu'un aurait-il une solution à me proposer ?

    Merci d'avance
    Guillaume

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2006
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 14
    Points : 17
    Points
    17
    Par défaut Declencheur
    Si je crois comprendre il faut que tu fasses un déclencheur (Trigger) !
    Qui dés qu'il ya un nouvelle enregistrement sur l'une des deux tables ,
    injecte les nouveaux Mails dans la Table 3

    Ca commence comme ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    CREAT TRIGGER NON_TRIGGER on Table1 
    INSTEAD OF INSERT (ou AFTER INSERT ) 
    AS
    BEGIN
     
    --Et la tu mets ton traitement , sachant que la ligne qui vient d'être inserée se trouve dans la table inserted !
     
    END;
    Enfin ca c'est pour un fonctionnent automatique , sinon tu fais une procédure stocké ... enfin il y a pas mal de façon de faire !

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

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Effectivement ça mérite une précision :

    En fait mes tables 1 et 2 sont déjà remplies (plusieurs centaines de milliers de lignes par table). Je veux faire un extract sur ces deux tables qui croise les données pour me sortir les données qui ne sont pas doublées dans les deux tables et qui me les insère dans une nouvelle table.

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Août 2006
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 14
    Points : 17
    Points
    17
    Par défaut
    ok

    alors :

    Table1 : email_joueur
    Table2 : email_personne
    Table3 : email_distinc

    Donc ce que tu peux faire c'est mettre dans un premier temps tout les mails
    de la Table1 dans la Table3

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    insert into Table3(distinc_email) 
    select email_joueur 
    from Table1
    Ensuite tu injectes les emails de la Table2 dans la Table3 , mais bien sur ceux qui ne si trouve pas déja ! Donc pas de doublon


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    insert into Table3(distinc_email)
    select email_personne
    from Table2
    where email_personne not in (select email_distinc from Table3)
    "where email_personne not in" : email_personne ne se trouvant pas dans la liste renvoyée par le select .

    dis moi quoi !

    Voili , voilou

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

    Informations forums :
    Inscription : Septembre 2003
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    cool,

    c'est nickel.

    Merci beaucoup

  6. #6
    Expert éminent sénior
    Avatar de Baptiste Wicht
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    7 431
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

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

    Informations forums :
    Inscription : Octobre 2005
    Messages : 7 431
    Points : 21 324
    Points
    21 324
    Par défaut
    Citation Envoyé par Aguiran
    cool,

    c'est nickel.

    Merci beaucoup
    Si cela résout ton problème, il ne faut pas oublier le tag

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 03/12/2013, 10h08
  2. [OpenOffice][Base de données] Générer une clé a partir de deux champs d'une même table
    Par fasfas dans le forum OpenOffice & LibreOffice
    Réponses: 0
    Dernier message: 01/03/2010, 10h33
  3. update le meme champs de deux table a partir de deux BD
    Par Msysteme dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 15/10/2009, 14h02
  4. Réponses: 6
    Dernier message: 26/06/2008, 03h53
  5. Réponses: 1
    Dernier message: 20/02/2008, 11h34

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