Les partenaires publicitaires:

Comment fusionner des lignes dans une rangée par SQL Oracle

Fusion de lignes dans une base de données est une façon courante d'éliminer les doublons dans une table de base de données ou les enregistrements correspondant à une paire de tables. La commande de fusion doit être utilisé sur un match, ce qui signifie que il ya des critères qui doivent être entrés pour un match à identifier spécifié. Une base de données propre est critique pour les systèmes d'affaires et la tenue de registres, car ils peuvent économiser beaucoup d'argent en ne répétant pas les efforts. Cela est très pratique lorsque les adresses et les champs de numéro de téléphone pour résultat de multiples enregistrements avec la même information dans différents formats.

Instructions

  1. Identifier les tableaux dans lesquels les lignes que vous souhaitez fusionner sont situés. Désigner la table source que l'ancienne table et la table de destination que la nouvelle table.

  2. Identifier les critères à utiliser pour faire correspondre les dossiers. Ce critère doit être un champ qui est commun aux deux tableaux.

  3. Écrire la déclaration de fusion dans votre domaine de SQL. La syntaxe ressemble:

    Fusionner en

    UTILISATION

    SUR ()




    Par exemple, si vous avez une table de nouveaux étudiants dits «NEW_STUDENTS" que vous souhaitez fusionner dans une table d'étudiants existants appelé «les étudiants», et les critères que vous souhaitez fusionner sur est le champ "STUDENT_ID," la syntaxe serait :

    Fusionner en ÉTUDIANTS

    UTILISATION NEW_STUDENTS

    ON (STUDENTS.STUDENT_ID = NEW_STUDENTS.STUDENT_ID)

  4. Écrivez une instruction insert pour les enregistrements qui ne correspondent pas. La syntaxe va ressembler:

    QUAND ne correspond pas PUIS



    INSERT (destinationtablename.field1, destinationtablename.field2, destinationtablename.field3)

    EN (sourcetablename.field1, sourcetablename.field2, sourcetablename.field3);

    Dans l'exemple des «étudiants» de l'étape 3, tous les enregistrements qui ne existent pas déjà seraient insérées à l'aide de la déclaration:

    QUAND ne correspondent pas

    INSERT (STUDENTS.STUDENT_ID, STUDENTS.FIRST_NAME, STUDENTS.LAST_NAME)

    VALUES (NEW_STUDENTS.STUDENT_ID, NEW_STUDENTS.FIRST_NAME, NEW_STUDENTS.LAST_NAME)

  5. Supprimez la table source pour terminer la fusion.

» » » » Comment fusionner des lignes dans une rangée par SQL Oracle