{Base 000} Erreur sur jointure de deux tables

steph70190 Messages postés 13 Statut Membre -  
moderno31 Messages postés 900 Statut Membre -
Bonjour a tous,

Je suis tout nouveau sur Base et je cherche a faire une jointure sur deux tables .csv.

Ma requête est :
SELECT D_STO2.mag,D_STO2.code_art,D_STO2.campagne,D_STO2.st_juill,D_STO2.st_aout,D_STO2.st_sept,D_STO2.st_oct,D_STO2.st_nov,D_STO2.st_dec,D_STO2.st_janv,D_STO2.st_fevr,D_STO2.st_mars,D_STO2.st_avril,D_STO2_mai,D_STO2_juin,D_PMA2.pmaar_juill,D_PMA2.pmaar_aout,D_PMA2.pmaar_sept,D_PMA2.pmaar_oct,D_PMA2.pmaar_nov,D_PMA2.pmaar_dec,D_PMA2.pmaar_janv,D_PMA2.pmaar_fevrD_PMA2.pmaar_mars,D_PMA2.pmaar_avril,D_PMA2.pmaar_mai,D_PMA2.pmaar_juin,D_PMA2.pmasr_juill,D_PMA2.pmasr_aout,D_PMA2.pmasr_sept,D_PMA2.pmasr_octD_PMA2.pmasr_nov,D_PMA2.pmasr_dec,D_PMA2.pmasr_janv,D_PMA2.pmasr_fevr,D_PMA2.pmasr_mars,D_PMA2.pmasr_avril,D_PMA2.pmasr_mai,D_PMA2.pmasr_juin FROM D_STO2,D_PMA2 WHERE D_STO2.code_art=D_PMA2.code_art AND D_STO2.campagne=D_PMA2.campagne


et j'ai comme message d'erreur :
Impossible de charger le contenu des données.
La requête n'a pas pu être executée. Elle contient plus d'une table


Je suis un peu perdu. Qu'ai je loupé ?

Petit détail ma première table comprend plus de 440 000 lignes et la seconde environ 10 000 lignes. Je ne sais pas si cela peut jouer.

Merci d'avance pour votre aide.

Amicalement
Steph70
Configuration: Windows XP
Safari 530.5

5 réponses

  1. moderno31 Messages postés 900 Statut Membre 92
     
    Heu, une requete de type SELECT sns FROM ?
    Je crois que jamais tu n'aura de résultat.

    Petit conseil, met de la lisibilité dans tes requetes.
    SELECT D_STO2.mag
    ,D_STO2.code_art
    ,D_STO2.campagne
    ,D_STO2.st_juill
    ,D­_STO2.st_aout
    ,D_STO2.st_sept
    ,D_STO2.st_oct
    ,D_STO2.st_nov
    ,D_S­TO2.st_dec
    ,D_STO2.st_janv
    ,D_STO2.st_fevr
    ,D_STO2.st_mars
    ,D_ST­O2.st_avril
    ,D_STO2_mai
    ,D_STO2_juin
    ,D_PMA2.pmaar_juill
    ,D_PMA2­.pmaar_aout
    ,D_PMA2.pmaar_sept
    ,D_PMA2.pmaar_oct
    ,D_PMA2.pmaar_­nov
    ,D_PMA2.pmaar_dec
    ,D_PMA2.pmaar_janv
    ,D_PMA2.pmaar_fevrD_PM­A2.pmaar_mars
    ,D_PMA2.pmaar_avril
    ,D_PMA2.pmaar_mai
    ,D_PMA2.pma­ar_juin
    ,D_PMA2.pmasr_juill
    ,D_PMA2.pmasr_aout
    ,D_PMA2.pmasr_se­pt
    ,D_PMA2.pmasr_octD_PMA2.pmasr_nov
    ,D_PMA2.pmasr_dec
    ,D_PMA2.­pmasr_janv
    ,D_PMA2.pmasr_fevr
    ,D_PMA2.pmasr_mars
    ,D_PMA2.pmasr_­avril
    ,D_PMA2.pmasr_mai
    ,D_PMA2.pmasr_juin FROM D_STO2
    ,D_PMA2
    FROM ??
    WHERE D_STO2.code_art=D_PMA2.code_art
    AND D_STO2.campagne=D_PMA2.campagne

    Ceci ressemble à une jointure de type "ancien". Tu peux, de préférence employer les INNER/LEFT JOIN ...
    0
  2. steph70
     
    Hello et merci de ton aide.

    Mon From existe bien mais tu ne l'as pas vu

    Steph70
    0
  3. moderno31 Messages postés 900 Statut Membre 92
     
    tant mieux s'il existe. J'ai découpé ton code sql et je ne l'ai pas trouvé.
    0
  4. steph70
     
    Il est ici
    SELECT D_STO2.mag,D_STO2.code_art,D_STO2.campagne,D_STO2.st_juill,D­_STO2.st_aout,D_STO2.st_sept,D_STO2.st_oct,D_STO2.st_nov,D_S­TO2.st_dec,D_STO2.st_janv,D_STO2.st_fevr,D_STO2.st_mars,D_ST­O2.st_avril,D_STO2_mai,D_STO2_juin,D_PMA2.pmaar_juill,D_PMA2­.pmaar_aout,D_PMA2.pmaar_sept,D_PMA2.pmaar_oct,D_PMA2.pmaar_­nov,D_PMA2.pmaar_dec,D_PMA2.pmaar_janv,D_PMA2.pmaar_fevrD_PM­A2.pmaar_mars,D_PMA2.pmaar_avril,D_PMA2.pmaar_mai,D_PMA2.pma­ar_juin,D_PMA2.pmasr_juill,D_PMA2.pmasr_aout,D_PMA2.pmasr_se­pt,D_PMA2.pmasr_octD_PMA2.pmasr_nov,D_PMA2.pmasr_dec,D_PMA2.­pmasr_janv,D_PMA2.pmasr_fevr,D_PMA2.pmasr_mars,D_PMA2.pmasr_­avril,D_PMA2.pmasr_mai,D_PMA2.pmasr_juin FROM D_STO2,D_PMA2 WHERE D_STO2.code_art=D_PMA2.code_art AND D_STO2.campagne=D_PMA2.campagne


    Après avoir réussi a charger mes enormes fichiers dans mysql, ma requête fonctionne, par contre elle palnte au bout d'une demi heure certainement car le traitement est trop long.

    Une idée ?

    Amicalement
    Steph70
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. moderno31 Messages postés 900 Statut Membre 92
     
    parce qu'elle plante parce que c'est trop lon, voit avec les timeout de la base. Je sais pas. j'ai pas l'habitude de gérer ces gros traiements. Sinon cela veut etre dire de passer à un SGBD plus puissant pour ce que tu veux faire.
    Je pense à SQL server par exemple.
    Maintenant, je ne saurais pas t'expliquer précisémment pourquoi il faut changer (si c'est bien ça ton souci)

    PS :m j'ai trouvé le FROM je lisais mal
    0