Les requêtes SQL permettent d’extraire des informations de bases de données. Le résultat de ces requêtes peut lui-même être interrogé par une autre requête (sous-requête) et ainsi de suite. Appliquée à des volumes de données conséquents, cette pratique de sous-requêtes entraîne des temps de traitements qui s’allongent à chaque niveau d’interrogation. Pour pallier à cet inconvénient, il est possible de figer le résultat des requêtes dans une table avant interrogation par la requête suivante.
SELECT Champs et calculs INTO TableDestination FROM TableOrigine
L’assertion INTO TableDestination envoie le résultat de la requête SELECT… FROM TableOrigine dans une nouvelle table nommée TableDestination.
Pour figer le résultat de la requête dans une table située dans une autre base de données, il suffit d’ajouter une clause IN suivie de du chemin complet d’accès à la base de données externe :
SELECT Champs et calculs INTO TableDestination IN 'C:\base.accdb' FROM TableOrigine
L’exemple qui suit illustre l’utilisation de l’assertion INTO… IN… appliquée à un FEC :
SELECT CodeEntité, JournalCode, JournalLib, Ecriturenum, EcritureDate, CompteNum, CompteLib, CompteAuxNum, CompteAuxLib, PièceRéf, PièceDate, EcritureLib, Débit, Crédit INTO ECRITURES IN 'C:\ANA-FEC.accdb' FROM ECRITURES_brutes WHERE Left([CompteNum],1)<>"9";
Les champs listés dans la clause SELECT contenus dans la table ECRITURES_brutes (clause FROM) et dont le numéro de compte général ne commence pas par un 9 (WHERE Left([CompteNum],1)<>”9″) sont envoyés dans la table ECRITURES créée à cet effet (INTO) dans la base de données ANA-FEC.accdb stockées sur le disque C:\ (clause IN).
Dans l’hypothèse où la table ECRITURES existait déjà, une requête insertion permettrait d’insérer le résultat de l’extraction à la suite de ses données :
INSERT INTO ECRITURES IN 'C:\ANA-FEC.accdb' SELECT CodeEntité, JournalCode, JournalLib, Ecriturenum, EcritureDate, CompteNum, CompteLib, CompteAuxNum, CompteAuxLib, PièceRéf, PièceDate, EcritureLib, Débit, Crédit FROM ECRITURES_brutes WHERE Left([CompteNum],1)<>"9";
Approfondir le sujet : Maîtriser ACCESS / Maîtriser le langage de requête SQL / Analyse de données
Derniers articles parBenoît RIVIERE (voir tous)
- Open Data : quoi de neuf ? - lundi 2 septembre 2024
- Auditsi cité dans le podcast Marketing du cabinet comptable - mercredi 21 août 2024
- IA générative : aide à la rédaction de prompts efficaces - samedi 17 août 2024
- S’initier à l’analyse de données et l’automatisation des tâches - dimanche 11 août 2024
- Créez votre plateforme de collecte d’informations juridiques et financières personnalisée ! - lundi 5 août 2024
Cher Bénoît,
je sollicite ton aide pour réaliser mes revues analytiques mensuelles de la Comptabilité(tous les cycles), de la Paie, des Stocks, des Achats.
Bien cordialement,