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

Langage SQL Discussion :

jointure avec une table dans une autre DB


Sujet :

Langage SQL

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2008
    Messages : 57
    Points : 47
    Points
    47
    Par défaut jointure avec une table dans une autre DB
    Bonjour, et au secours svp...
    Je n'arrive pas à faire marcher la requête ci-dessous : Elle sert à archiver les données de la table 'sinistres' (antérieurs à une certaine date) dans la table 'ArchiveSinistres'. Celle-ci est de même format que 'sinistres' et elle est dans une autre base de données dont le chemin est donné dans la directive 'IN'.

    En fait, la clause WHERE ne trouve pas la table 'ArchiveSinistres' et cette requête ne marche que si j'importe avec liaison la table d'archive dans la base de départ. (la clause WHERE me sert ici à éviter d'archiver des enregistrements déjà archivés)

    Je ne comprends pas pourquoi, alors que la clause INSERT INTO prend en compte le chemin menant à la table destination, la clause WHERE ne la voit pas !! Y-a-t'il un moyen d'éviter d'importer la table ?
    48h que je suis collé là dessus !!! Merci d'avance

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    INSERT INTO ArchiveSinistres IN 'C:\Documents and Settings\Pierre\Bureau\Archivage.accdb'
    SELECT sinistres.*
    FROM sinistres LEFT JOIN ArchiveSinistres 
    ON sinistres.N_interne = ArchiveSinistres.N_interne
    WHERE (((sinistres.date_envoi)<[forms]![Archivage]![DateArchivage]) 
    AND ((ArchiveSinistres.N_interne) Is Null));

  2. #2
    Membre régulier
    Inscrit en
    Mai 2007
    Messages
    149
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 149
    Points : 89
    Points
    89
    Par défaut
    bonjour,
    tu utilises quoi comme SGBD ?

  3. #3
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 772
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 772
    Points : 52 729
    Points
    52 729
    Billets dans le blog
    5
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    INSERT INTO ArchiveSinistres --IN 'C:\Documents and Settings\Pierre\Bureau\Archivage.accdb'
    SELECT sinistres.*
    FROM sinistres AS S LEFT JOIN ArchiveSinistres AS AS
    ON S.N_interne = AS.N_interne
    WHERE (((S.date_envoi)<[forms]![Archivage]![DateArchivage]) 
    AND ((AS.N_interne) IS NULL));
    Mais si c'est du Access, posta dans le forum Access car ce SGBDR tordu ne respecte pas le SQL normatif

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Avril 2008
    Messages : 57
    Points : 47
    Points
    47
    Par défaut
    Merci pour vos réponses :
    J'utilise ACCESS 2007, et donc je vais reposter ma question dans le forum access directement plutôt que le forum SQL.

    Mais en attendant, je ne comprends pas bien ta réponse SQLpro : comment ta requête peut-elle faire le JOIN avec "ArchiveSinistres" si tu enlèves les chemin d'accès windows qui est dans IN 'C:\Documents and Settings\Pierre\Bureau\Archivage. ? Je rappelle que la table destination "ArchiveSinistres" est dans une autre base de données que la base courante... (?)

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

Discussions similaires

  1. copier une table d'une BDD dans une table d'une autre BDD
    Par faniette dans le forum C++Builder
    Réponses: 2
    Dernier message: 15/05/2013, 10h17
  2. Réponses: 7
    Dernier message: 25/03/2011, 10h52
  3. [AC-2003] insert des données d'une table dans une table d'une base externe
    Par marieo dans le forum VBA Access
    Réponses: 1
    Dernier message: 30/11/2009, 14h29
  4. Réponses: 6
    Dernier message: 19/03/2009, 10h22
  5. Réponses: 2
    Dernier message: 10/03/2009, 12h45

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